On 05/05/2010 09:19, djb wrote:
Hi Drools team,
I wrote a Drools application for my company, which evaluates clinical claim
processing rules. That is, it checks current medical claims against the
patient's historical claims.
It appears that 95% of the run time is dedicated to inserting facts, which
is presumably when it propagates through the RETE graph, since firing the
rules takes no time.
But it seems like it's not fast enough. I made a rule template, which by
trial and error of moving the conditions around, is optimised. I'm
averaging 310ms, and need it to be under 170ms for it to be viable.
Is there any not-too-technical guide to optimisation somewhere? (alpha and
beta-nodes scare me a bit).
Other than writting the rules well - using == constraints, avoiding
cross products ete, there isn't much more you can do. If you have time
you can work with us on the next generation engine, which will emit
compiled java code, should be about 3 to 5 times faster. But the core
team aren't working on that quite yet, just ideas in our head.
Mark
Regards,
Daniel