Hi,<br><br>as suggested by Mark, last Thursday I pushed some optimization to the working memory.<br><br><a href="https://github.com/droolsjbpm/drools/commit/763ebf8d23d5f9ab0a47774c23aa719f514ec021" target="_blank">https://github.com/droolsjbpm/drools/commit/763ebf8d23d5f9ab0a47774c23aa719f514ec021</a><br>

<br>As you can see I basically lazy initialized all the non-strictly 
necessary data structures and rewrote the updateEntryPointsCache method.
 Now I also had time to benchmark these improvements in terms of both
 memory occupation and speed. I did this by just creating a 
StatefulKnowledgeSession starting from a KnowledgeBase with a single 
simple rule.<br>
<br>Before my optimization, each StatefulKnowledgeSession occupied 
11,336 bytes and I can create (on my machine) 4,668 of them in one 
second.<br>After it, each StatefulKnowledgeSession is now 8,610 bytes and in one second I can create 12,304 of them.<br>
<br>I guess those results are truly positive and interesting especially 
if compared with the time (just a few hours) I needed to implement them.
 <br>Would be great If you think there are other parts of the project where it could be possible to achieve similar results and then you could signal them.<br><font color="#888888">
<br>Mario Fusco<br>twitter: <a href="http://twitter.com/#!/mariofusco">http://twitter.com/#!/mariofusco</a><br></font>