Hey Edson,

 

Right now we use only one builder and we add one large file. In the past we used multiple builders and files but using a single builder with one large file is much faster.  I will have to gather the timing for the differences for the package call versus adding to the kbase. Right now we only collect the combined time.

 

We are still on an older version but are upgrading now to 5.2. I’ll let you know if the new API helps. I’ll give trunk a shot but I won’t be able to use it because we are targeting having this large rulebase in production in mid-February.

 

For reference our current largest production rulebase is ~76,000 rules. Those rules take around 7 minutes to add to the package and the rulebase in a JVM with 2GB of allocated heap.

 

Thanks

Joe

This message is confidential. It may also be privileged or otherwise protected by work product immunity or other legal rules. If you have received it by mistake, please let us know by e-mail reply and delete it from your system. You may not copy this message or disclose its contents to anyone. The integrity and security of this message cannot be guaranteed on the Internet.

 

From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Edson Tirelli
Sent: Thursday, January 13, 2011 10:14 AM
To: Rules Users List
Subject: Re: [rules-users] large rulebase load time

 

 

   Joe,

 

   To be honest, I don't know. My guess is it would be a bit faster as the consequence would be compiled only once, but I have no numbers to compare... question: are you using a single builder and adding multiple files/rules to it, or are you using one builder per file? Is your application spending most of the time on the builder or adding rules to the kbase? I see you are still using the old API (method addPackageFromDRL())... does the new API make any difference? Also, I know Tihomir was improving perf in trunk by caching the configuration file... did you tried trunk? Does it make difference for you?

 

   Edson

 

2011/1/13 Joe White <Joe.White@recondotech.com>

For a large rulebase (200k+ rules) will the call to addPackageFromDrl(drlString) run faster if the number of rules is smaller but the rules include more || statements between predicates?

 

There is only one type of object ever inserted in working memory and I have many rules with the same RHS. I can collapse those rules into one LHS with ors between the predicates in the object, but I would only go through the effort of optimizing if it would improve load time.

 

Thanks for your help.

Joe

 

 

This message is confidential. It may also be privileged or otherwise protected by work product immunity or other legal rules. If you have received it by mistake, please let us know by e-mail reply and delete it from your system. You may not copy this message or disclose its contents to anyone. The integrity and security of this message cannot be guaranteed on the Internet.

 


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




--
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com