Hi,
I don't know why your code isn't in the message that went out to the mailing
list, but I saw it when I approved the message for the list. Basically you're
seeing exactly the issue discussed in the FAQ here:
http://www.jessrules.com/jess/FAQ.shtml#Q12
You've got a couple of rules with patterns like
(Method ?m1)
(Method ?m2)
(Call (something ?m1) (something-else ?m2))
(some-other-test ?m1 ?m2)
These patterns first construct partial matches for all pairs of Method facts --
i.e., n^2 pairs, so this uses memory proportional to the square of the number
of facts. If you just rearrange it like
(Call (something ?m1) (something-else ?m2))
(Method ?m1)
(Method ?m2)
(some-other-test ?m1 ?m2)
then only the relevant pairs will be formed -- presumably a much smaller
number. And if you can do something like
(Call (something ?m1) (something-else ?m2))
(some-other-test ?m1 ?m2)
(Method ?m1)
(Method ?m2)
then the memory usage will be smaller still.
-Original Message-
From: owner-jess-us...@sandia.gov
[mailto:owner-jess-us...@sandia.gov] On Behalf Of Lucia Masola
Sent: Tuesday, September 29, 2009 10:59 PM
To: jess-users
Subject: JESS: assertion - exception out of memory
Hi, I'm working in a java applications that has Jess
embedded. I had some
trouble in the assertions of facts. I'm asserting the facts
from java and i
received the exception out of memory. I realized that the
problem is in
the archive clp because when i tried to do the same assertion
with another
clp i didn't encounter the problem. I also tried to take out
some rules from
the clp in order to check which rule were having the problem
and i found
them, but i don't know how to solve it (the trouble rules are
callerMethods,
calleeMethods ). if anyone can help me with this issue i will
appreciate it
To unsubscribe, send the words 'unsubscribe jess-users y...@address.com'
in the BODY of a message to majord...@sandia.gov, NOT to the list
(use your own address!) List problems? Notify owner-jess-us...@sandia.gov.