[
https://issues.jboss.org/browse/JBRULES-3459?page=com.atlassian.jira.plug...
]
Mario Fusco resolved JBRULES-3459.
----------------------------------
Fix Version/s: 5.4.0.Final
Resolution: Done
This is not caused by a performance regression, but a difference in the semantic of the
not matches operator. In particular the expression:
null not matches "any value"
is always evaluated false in 5.3 and true in 5.4. The behavior implemented in the 5.4 is
more semantically correct, but of course, in the provided test case, implies that far more
constraints need to be evaluated causing in turn the apparent performance regression.
Performance regression when using 'matches' operator,
comparing with 5.3.
-------------------------------------------------------------------------
Key: JBRULES-3459
URL:
https://issues.jboss.org/browse/JBRULES-3459
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core (expert)
Affects Versions: 5.4.0.CR1
Reporter: Petr Široký
Assignee: Mario Fusco
Labels: regression
Fix For: 5.4.0.Final
Attachments: expert-matches-perf-test.zip
I am seeing performance regression when using rules with 'matches' and 'not
matches' (comparing 5.4.0.CR1 and 5.3.0.Final). In my case the difference is up to 100
% (2000 ms vs 4000 ms). The DRL file contains 100 rules and in the test 500000
non-matching facts are inserted into knowledge session. See the attached standalone maven
project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira