[rules-users] Memory Consumption with 5000 Rules

thomas.polzin at gmail.com thomas.polzin at gmail.com
Thu Dec 9 17:08:42 EST 2010


Dear all,

My setup includes about 5000 rules with the following pattern:

rule "1"
when
(
$c_0 : CFRO( fi.co == "1", su.co == "P", c.co == "C") or
$c_0 : CFRO( fi.co == "2", su.co == "P", c.co == "C") or
$c_0 : CFRO( fi.co == "3", su.co == "P", c.co == "C") or
$c_0 : CFRO( fi.co == "4, su.co == "P", c.co == "C") or
$c_0 : CFRO( fi.co == "5", su.co == "P", c.co == "C")
)
then
Bcf fact = new Bcf ();
fact.setC( "123");
insert( fact);
end

The number of disjunctions varies, it might go up to 80. Just loading these  
5000 rules uses about 200mb. I use 5.1.1.
Is this to be expected or do I something fundamentally wrong. Any help  
highly appreciated. For instance, would it
make sense to use a rule for each of the disjunction?

I add the rules the with the following code:

DroolsObjectInputStream stream = new DroolsObjectInputStream(inputStream);
Collection<KnowledgePackage> knowledgePackages =  
(Collection<KnowledgePackage>)stream.readObject();

stream.close();
engine.addKnowledgePackages(knowledgePackages);

Many thanks in advance

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20101209/9512febd/attachment.html 


More information about the rules-users mailing list