<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><br><p style="margin-bottom: 0cm">I am using Drools-Guvnor 5.1 release in
an enterprise application. The rules created are separated per
packages, and for each package there is a snapshot package called
LATEST. The KnowledgeAgent polls the snapshot packages
to get the latest data and load into the rule engine.&nbsp;Whenever there is a new rule, or
updates to an existing one, the application triggers the process of
re-creating the package snapshot: builds all the rules within the
package, and creates a new snapshot for the package.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">The main problem with this approach is
that the time to build the package rules, increases quite a lot as
the number if rules gets higher. This creates a serious performance
hit in the real-time app whenever there is a change to the rules.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">I sneaked a bit to the source code, and
noticed that when build package is called, Guvnor builds a new binary for all the rules within a
package even though not all of them are modified. Would it be possible to incrementally create/update the package binary? This would speed up
things a lot when the package has lots of rules but only one rule
changes at the time.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">What is the best approach for creating
the package snapshots? The approach we've taken is to build all the
rules within a package into one snapshot, and we ran into this performance issue. 
</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">Any ideas/suggestions is much
appreciated.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">Thanks,</p>
<p style="margin-bottom: 0cm">Patricia</p></td></tr></table>