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].
--------------------------------------------------------------------

Reply via email to