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