Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-775

Performance degradation with objects with many properties in working memory.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 6.0.0.Final, 6.1.0.Final, 6.2.0.Final
    • core engine
    • Hide

      Unzip the attached project.
      For using drools5:

      mvn test -Dtest=org.acme.test.drools5.DroolsPerformance -Pdrools5

      For using drools6:

      mvn test -Dtest=org.acme.test.drools6.DroolsPerformance -Pdrools6

      Show
      Unzip the attached project. For using drools5: mvn test -Dtest=org.acme.test.drools5.DroolsPerformance -Pdrools5 For using drools6: mvn test -Dtest=org.acme.test.drools6.DroolsPerformance -Pdrools6
    • User Experience

    Description

      I experience some major performance degradation while migrating from drools 5.0.1 to 6.x. I'm inserting objects with many properties into the working memory and firing some very basic rules which will match against a very small subset of those properties. I expected that the older version of Drools, which uses pure reflection, to be somewhat slower than the newer, which uses some clever ASM optimization., but this is not the case. I've also noticed that if the required properties are scattered across multiple level of hierarchy, the performance issue will aggravate.

      For example, after 100k iterations:

      droosl 5.0.1

      – Meters ----------------------------------------------------------------------
      org.acme.test.drools5.DroolsPerformance.analized
      count = 100000
      mean rate = 549.27 events/second
      ...

      drools 6.2.0.Final

      – Meters ----------------------------------------------------------------------
      org.acme.test.drools6.DroolsPerformance.analized
      count = 100000
      mean rate = 198.58 events/second
      ...

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            fbertola_jira Federico Bertola (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: