Christian,
Can you break down this performance into 2 steps?
1. COMPILE: this is the step where textual information is parsed and
compiled into binary data. This is done by the
PackageBuilder.addPackageFromDrl() method.
2. RETE BUILDING: this is the step where the binary data is assembled into
the rete network. This is done by RuleBase.addPackage() method.
These two processes are mostly independent and it would be good to know
what is the relative time spent in each.
After that, we will need to get a few rule samples from you with a test
case so that we can investigate.
Thanks,
Edson
2009/4/17 Christian Nedregård <christian_nedregaard(a)email.com>
Thank you for the quick reply and the tip Ingomar.
Since our rules are template based I was able to merge them into 30 drls
(850 before). This gave a 30% perfomance improvement, but we are still not
able to compile more than 2 rules per second. I also tried to execute in
with jdk 1.6.0_03 instead of 1.4.2_11. This only gave a small performance
increase.
We are also seing the same slow performance in our production environment
wich is JDK 1.4.2_11 on Solaris, so this is not a OS spesific problem.
I addition I tried to run the compilation in a dedicated process with 1G
available memory with no performance increase, so it is not related to
memory restrictions either.
From our experimentation I see that the compile time, unsurpisingly, is
directly connectet to the complexity of the rule. If i strip away he LHS and
RHS of the rules and only keep the imports and global definitions I am able
to get a compilation throughput at 24 rules per second.
Are your rules much simpler than ours? Can you think of any other reason
why you are seeing a much better compiler throughput?
Regards
Chr
On Fri, Apr 17, 2009 at 10:34 AM, Ingomar Otter <iotter(a)mac.com> wrote:
> Christian,
> with our app, we see a compile performance which is at least an order of
> magnitude higher.
> I would assume that in your case the extreme fine granularity of your DRLs
> may be slowing things down.
> Have you tried to consolidate these in bigger but fewer DRls?
>
> If you need that granualarity, you still have the option of joining these
> together before running it with the help of perl and the likes.
>
> --I
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @
www.jboss.com