Hello again,
i just wanted to thank you for your suggestions, they were extremely
helpful to me, although i wasn't looking
forward to look through megabytes and megabytes of output :)
I wasn't aware of the watch function but it did the trick for me.
Actually it is quite obvious what happened once it is thrown in your
face, so for everybody else trying to implement
time restricted streams in JESS:
don't set the update frequency of you timestamp fact to high!!!
In my case it was updated 50 times per second, which obviously means
that all the sanitizing rules for the streams
got activated 50 times per second which was too much, both in a
computational way and also in the way that it is not
reasonable when i insert events only lets say 10 times per second.
So after lowering this value everything seems to work fine now.
Thanks again for you prompt and successful help,
Lars Ermert
Ernest Friedman-Hill wrote:
On Feb 19, 2009, at 7:12 PM, Lars Ermert wrote:
I would be also very grateful if you could give me any suggestions on
how to optimize the engine
for constant running,if necessary or possible.
I can't give you any concrete explanation as to what's going wrong
here; this still isn't enough information. But the path to an answer
is the same as it would be if Jess were not involved, the same as for
any software performance issue: do some profiling, and see what's
going on. You can use Jess's built-in tools -- for example, the
"watch" command -- to find out exactly what rules are firing, and/or
what facts are being asserted; since the performance characteristics
don't make sense, you'll likely be surprised by these results. Use
"watch", pipe the results into a file, then examine the file.
Given that memory use is not increasing without bound, and the CPU is
being pegged, I'm guessing you've just got some simple rule loops -- a
rule unexepectedly reactivates after one of its conditions is
modified, or one rule activates a second, which upon firing
reactivates the first, in a cycle. Jess's "no-loop" and
"slot-specific" features can help resolve these. Either of these will
be very obvious in "watch" output.
Besides Jess's own built-in tools, you can use a regular Java
profiler. This will be a little trickier, but it will still (if you've
got a source license, anyway) give you an indication of where all the
time is going.
---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences Phone: (925) 294-2154
Sandia National Labs
PO Box 969, MS 9012 [email protected]
Livermore, CA 94550 http://www.jessrules.com
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [email protected]'
in the BODY of a message to [email protected], NOT to the list
(use your own address!) List problems? Notify
[email protected].
--------------------------------------------------------------------
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [email protected]'
in the BODY of a message to [email protected], NOT to the list
(use your own address!) List problems? Notify [email protected].
--------------------------------------------------------------------