Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2685

Performance degradation from 5.0.1 to 5.1.0

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Quality Risk
    • Resolution: Done
    • Minor
    • 5.4.0.Beta2
    • 5.1.0.FINAL
    • drools-core
    • None

    Description

      I've observed a sizable (25%) performance degradation between the 5.0.1 and 5.1.0 releases. I've attached a sample project that tests the performance of matching nested objects. (ANd compares direct reference matching and the performance pitfalls of "from," but that's beside the current point.)

      If you switch the pom.xml from using 5.0.1 to 5.1.0 for the drools dependencies you'll see 25% longer execution times on the tests. (mvn test)

      Here's the test output:

      5.0.1

      reference.drl Count: 2000
      reference.drl Time: 267ms
      reference.drl Time per element: 0.1335ms
      BAR Duplicates: 780
      FOO Duplicates: 880

      reference.drl Count: 20000
      reference.drl Time: 1249ms
      reference.drl Time per element: 0.06245ms
      BAR Duplicates: 7702
      FOO Duplicates: 8040

      from.drl Count: 200
      from.drl Time: 1139ms
      from.drl Time per element: 5.695ms
      BAR Duplicates: 112
      FOO Duplicates: 102

      reference.drl Count: 200
      reference.drl Time: 5ms
      reference.drl Time per element: 0.025ms
      BAR Duplicates: 86
      FOO Duplicates: 60

      5.1.0

      reference.drl Count: 2000
      reference.drl Time: 300ms
      reference.drl Time per element: 0.15ms
      BAR Duplicates: 788
      FOO Duplicates: 820

      reference.drl Count: 20000
      reference.drl Time: 1564ms
      reference.drl Time per element: 0.0782ms
      BAR Duplicates: 8142
      FOO Duplicates: 7960

      from.drl Count: 200
      from.drl Time: 3543ms
      from.drl Time per element: 17.715ms
      BAR Duplicates: 68
      FOO Duplicates: 90

      reference.drl Count: 200
      reference.drl Time: 13ms
      reference.drl Time per element: 0.065ms
      BAR Duplicates: 84
      FOO Duplicates: 74

      On the most taxing test (20k objects) 5.0.1 took 1249ms while 5.1.0 took 1564ms, and for larger tests the effect is more pronounced. This is primarily a test of == on object references.

      Attachments

        Issue Links

          Activity

            People

              mproctor@redhat.com Mark Proctor
              greg_barton_jira Greg Barton (Inactive)
              Archiver:
              rhn-support-ceverson Clark Everson

              Dates

                Created:
                Updated:
                Resolved:
                Archived:

                PagerDuty