[rules-users] Performance of compiler

Edson Tirelli tirelli at post.com
Fri Apr 17 16:06:50 EDT 2009


   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 at 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 at 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090417/d2264f84/attachment.html 


More information about the rules-users mailing list