Mark,
Thanks for the prompt response. I will certainly create a simplified
program to demonstrate this problem and open a JIRA.
As for the "non-optimized test rule set", I meant that I did not even
using the new syntax in 4.0GA, such as "in" and "not in", when
converting IRL to DRL. I converted all the in conditions to
concatenated or's or "!=" for negations. All the rules also created
without one condition that has been showing greatly improved performance
in JRules. But Drools seems not needing it. The data set is exactly
the same.
By the way, I also like DRL a lot.
-Ming
________________________________
From: rules-users-bounces(a)lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Mark Proctor
Sent: Thursday, August 02, 2007 2:06 PM
To: Rules Users List
Cc: Shtarkman, Daniel
Subject: Re: [rules-users] Why does Drools'
RuleBase.addPackage() Behave ThisWay?
Thanks for the feedback, glad it's working out faster for you.
Btw have you tried our sequentail mode, thats even faster, especially
for large data sets and where as JRule's sequential/fastpath modes limit
the rule langauge available to you, we still allow you access to the
full language. Also notice how we don't need to pool rule contexts like
JRules, our single rulebase can be shared amount working memory
sessions, making the management of sessions very light weight which
simplifies your over all infrastructure.
On the increasing times, that doesn't look good. Probably a bad
loop or cache somewhere. Could you make a self contained project showing
this behaviour and upload it as a jira, and we will track and hopefully
move the bottlebeck. Hopefully JProfiler can shed some light.
Btw what do you mean by "non-optimized test rule set and data" -
just trying to understand so I can compare apples to apples.
Mark
Jin, Ming wrote:
I am benchmarking Drools 4.0 and received excellent
results in rule execution. With our non-optimized test rule set and
data, Drools out performed ILOG/JRules by quite a bit. Congratulations
to Drools' team for a job well done.
I encountered a strange behavior when trying to test the
performance of rule registration, meaning to add Package's to a new
instance of RuleBase. I ran the same test 5 times in a sequence, and
the RuleBase instance was discarded right away. The test ran with
different different number of packages, 20, 50, 100, and 200. The
results are as the followings:
Added 20 packages to rulebase in 0:00:0.15
Added 20 packages to rulebase in 0:00:0.21
Added 20 packages to rulebase in 0:00:0.21
Added 20 packages to rulebase in 0:00:0.301
Added 20 packages to rulebase in 0:00:0.18
Added 20 packages to rulebase 5 times in 0:00:1.051
Added 50 packages to rulebase in 0:00:0.17
Added 50 packages to rulebase in 0:00:1.422
Added 50 packages to rulebase in 0:00:1.252
Added 50 packages to rulebase in 0:00:1.322
Added 50 packages to rulebase in 0:00:1.331
Added 50 packages to rulebase 5 times in 0:00:5.497
Added 100 packages to rulebase in 0:00:0.19
Added 100 packages to rulebase in 0:00:5.278
Added 100 packages to rulebase in 0:00:5.297
Added 100 packages to rulebase in 0:00:5.228
Added 100 packages to rulebase in 0:00:5.327
Added 100 packages to rulebase 5 times in 0:00:21.32
Added 200 packages to rulebase in 0:00:0.22
Added 200 packages to rulebase in 0:00:21.691
Added 200 packages to rulebase in 0:00:21.481
Added 200 packages to rulebase in 0:00:21.642
Added 200 packages to rulebase in 0:00:21.341
Added 200 packages to rulebase 5 times in 0:01:26.385
As you can see, the timing of creating first RuleBase
instance is always good, while the subsequent one's were very bad. Is
there an attribute I could adjust in configuration to improve the
performance for this scenario? Please advise if there is other
alternatives. I would be glad to provide details if needed.
Your help is greatly appreciated!
-Ming
________________________________
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users