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?
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.
rules-users mailing list