Hi,
I encountered a serious performance problem using Jboss Rules 3.0.1. The process was executed on a pretty strong machine - a DL350 4 cpu RedHat machine. The process was using about 100% CPU and I used a profiler to see what's going on:
My application adds/removes objects to/from the working memory of a stateful rule session quite intensively (2000-3000 per sec), though the intensive actions were related to a single rule session and only a few extra rule sessions existed simultaneously. It turned out that about 7-10% of CPU was consumed per a single add/remove operation. More specifically,
ReteooWorkingMemory.doRetract() and ReteooWorkingMemory.doAssertObject() were the major consumers. I would expect a basic operation like this to be significantly less CPU intensive.
Would you please provide more information, is my benchmark too ambitious? Do you recommend an upgrade to version
3.0.6? 3.1? If so, please elaborate what were the performance improvements.
Best regards,
Einat Idan