Great help , Ed.<br>I appreciate your reply and again thanks for your valuable time.<br><br><br>Regards,<br>Ashish Soni<br><br><div class="gmail_quote">On Thu, Feb 12, 2009 at 12:18 PM, Edson Tirelli <span dir="ltr">&lt;<a href="mailto:tirelli@post.com">tirelli@post.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&nbsp;&nbsp; Ashish,<div class="Ih2E3d"><br><br><font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">&quot;If i have 10,000 rules with same priority or equal priority then how drools engine evaluate them or what is the path it chooses.</span></font>&quot;<br>

<br></div>&nbsp;&nbsp; LHS side of rules are evaluated at insert time, as you may know, as this is how the Rete algorithm works. At fire time, the engine uses conflict resolution strategies to decide which rules to fire. Typically, resolution strategy is given by the several grouping capabilities that Drools offers (like ruleflow-groups, agenda-groups, etc) and goes down to saliency (priority) and finaly a (pseudo) recency.&nbsp; <br>

<br>&nbsp;&nbsp; Although, if you have 2 rules for which all the parameters are the same (groups, priority, etc), your application should&#39;t care which one fires first, because they are supposed to have the same priority.<br><br>

&quot;<font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">Also if there any performance metrics available ,please point to the links.&quot;<br><br>&nbsp;&nbsp; This is</span></font> the most complicate point. There are quite a few benchmarks out there, but in the end the performance of your rules is dependent not only on the engine itself, but also on how a rule is written and how your domain model looks like. A good analogy is to compare it to a database. Everyone knows that the quality of the data model, availability of indexes and the way your query is written is directly proportional to the query performance. <br>

<br>&nbsp;&nbsp; So, the existing benchmarks will try to derive simple cases that allow comparisons between engines, but NONE of the existing benmarks is capable of predicting the performance of REAL WORLD applications. <br><br>&nbsp;&nbsp; Just to mention one example: I created a simple test a couple weeks ago for something I was doing. I generated 1000 rules, built a rulebase, and started feeding facts into the engine and processing them with this 1000 rules. In my laptop, a LeNovo T61, 2ghz, 2Gb Ram, I was able to process an average of 38000 events/second. What does that tell you? We both know that it tells you nothing because it depends on the rules I generated and the optimizations that these rules were triggering (or not) in the engine.<br>

<br>&nbsp;&nbsp; So, the one advice we give to users is: build a POC for YOUR use case. Take into consideration everything, not only performance. Bottlenecks in real world applications that use rules engines will be in 99% of the cases on I/O, specially database I/O, meaning that the most important aspect on a rules engine for your case will not be performance, but things like rule management, language expressiveness, time to market, etc.<br>

<br>&nbsp;&nbsp; I know it is not the kind of answer managers look for, but it is the bare naked truth. <br><br>&nbsp;&nbsp; Hope it helps,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Edson<br><br><br><div class="gmail_quote">2009/2/12 Ashish Soni <span dir="ltr">&lt;<a href="mailto:learnspring@gmail.com" target="_blank">learnspring@gmail.com</a>&gt;</span><div>
<div></div><div class="Wj3C7c"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Any more response will be appreciated as i am in the final phase of drools evaluation and need this urgently.<br>

<br>regards,<br>Ashish<br><br><div class="gmail_quote"><div><div></div><div>On Wed, Feb 11, 2009 at 3:21 PM, Steve Núñez <span dir="ltr">&lt;<a href="mailto:steve.nunez@illation.com.au" target="_blank">steve.nunez@illation.com.au</a>&gt;</span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>



<div>
<font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">Ashish,<br>
<br>
There are a lot of variables involved in performance benchmarking. Your scenario is common in many industries, such as insurance, that utilise large decision tables.<br>
<br>
We have previously published benchmarks comparing various rules engines at <a href="http://illation.com.au/benchmarks" target="_blank">http://illation.com.au/benchmarks</a>, however they don&#39;t specifically address the use case of large rulesets, but instead stress various aspects of the rules engines.<br>



<br>
We are working to put together a new set of benchmarks that will better test typical use cases, and we&#39;d welcome your comments and participation. We are very early in this process, and should have a publically available &#39;blog to discuss the topic.<br>



<br>
Regards,<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Steve Nunez<div><div></div><div><br>
<br>
<br>
On 11/02/09 11:37 AM, &quot;Ashish Soni&quot; &lt;<a href="http://learnspring@gmail.com" target="_blank">learnspring@gmail.com</a>&gt; wrote:<br>
<br>
</div></div></span></font><div><div></div><div><blockquote><font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">Hi All , <br>
<br>
I am not sure if this question is asked previously but it would be great if any one can put some lights on this ..<br>
<br>
If i have 10,000 rules with same priority or equal priority then how drools engine evaluate them or what is the path it chooses.<br>
<br>
Also if there any performance metrics available ,please point to the links.<br>
<br>
<br>
Thanks and Regards,<br>
Ashish soni<br>
</span></font></blockquote>
</div></div></div>


<br></div></div>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div></div></div><font color="#888888"><br><br clear="all"><br>-- <br> &nbsp;Edson Tirelli<br> &nbsp;JBoss Drools Core Development<br> &nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com" target="_blank">www.jboss.com</a><br>

</font><br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>