On Jan 8, 2008, at 1:00 AM, Matt Accola wrote:

Our application has been experiencing signs of a memory leak. We are using 7.0 b4 of Jess.


Regardless of leaks, why use this two-year-old beta version? Jess 7.0 final was released over a year ago, and there have been several patch releases since then.


Using heap dumps we have tracked the leak to a large number of jess/ Token arrays and jess/ArrayTokenList instances being referenced by jess/TokenTree instances.


These are the Rete network memories; it's not a leak. Although the number of instances of ArrayTokenList will increase over time, there is in fact an upper bound: it's the sum over all rules of

(number of joins in a rule) x  (node-index-hash value for that rule) x 2

The leak issue was that inactive Token objects were being retained in these memories; the references are now nulled out as appropriate.

You can reduce the number of these objects (at the expense of making each one larger) by using the set-node-index-hash function to adjust the geometry of the Rete memories.


---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
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]
--------------------------------------------------------------------

Reply via email to