2 Replies Latest reply on Jun 5, 2009 11:03 PM by Tihomir Surdilovic

    improving drools performance

    Jaime Martin Apprentice

      I forgot to activate Notify me via e-mail of any replies check box, that´s why I´m posting again with same topic. Please remove my previous topic.
      I´m facing a Seam 2.1.1 and Drools 4.0.7 project. I would like to improve the performance of the drools module I´ve come across, because it takes several minutes to process all the rules. The drl file is very big (beyond 11,000 lines). I wonder if splitting the file would mean something as for time processing. On the other hand, I´ve checked that all rules has same salience. As it is the same, removing that line would improve things? Any idea will be welcomed.

        • 1. Re: improving drools performance
          Ingomar Otter Newbie

          Splitting the DRL would probably make things worse.
          Have you checked whether the Vm has enought memory available during that process?

          By the way, how did you end up with 11K DRL? ;-)

          If you remove the salience that should save you a few msec on parsing, should be marginal.

          Are you using Java or MVEL dialect on the RHS of the rules? Switching to MVEL might save you some time. There also was a mention of excessive classloading attempts in 4.07. This should be fixed in Drools 5.01. Please see the drools-user mailing list for details.

          -- Ingomar

          • 2. Re: improving drools performance
            Tihomir Surdilovic Master

            The Drools engine will deal well with a few thousand rules. If we are talking about several tens of thousands, then I would recommend splitting the rulebase, either vertically (by subject matter) or horizontally (by recurrent snapshots and old rules removal).