definately upgrade to latest 3.0.x version (3.0.6).
Also, those methods are were most of the work happens, its a common
misconception that all the work happens lazily when you call "fire all
rules" but that is not the case, as you assert each object, it propagates
through the RETE network, so that is normal to see the time spent there for
lots of data.
you can also try the trunk version if you like, its certainly got some
improvements, but the next milestone (if you can wait) will be more worth
your time.
Michael.
On 4/12/07, Einat Idan <idan.einat(a)gmail.com> wrote:
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
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users