[jboss-jira] [JBoss JIRA] (DROOLS-667) Profile why day.index is so much slower than day.getIndex()

Geoffrey De Smet (JIRA) issues at jboss.org
Wed Dec 17 15:26:29 EST 2014


    [ https://issues.jboss.org/browse/DROOLS-667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028454#comment-13028454 ] 

Geoffrey De Smet commented on DROOLS-667:
-----------------------------------------

I think the difference is because of stateful or stateless. In TTP, it's used in a statefull context, with thousands of fireAllRules() calls on 1 KieBase. In the microbenchmark I saw earlier, it's used in just 1 fireAllRules().

> Profile why day.index is so much slower than day.getIndex()
> -----------------------------------------------------------
>
>                 Key: DROOLS-667
>                 URL: https://issues.jboss.org/browse/DROOLS-667
>             Project: Drools
>          Issue Type: Enhancement
>    Affects Versions: 6.2.0.CR3
>            Reporter: Geoffrey De Smet
>            Assignee: Mario Fusco
>
> day.index is 3 times slower than day.getIndex() (and it's gets more as the dataset grows)
> As discussed with Mario. Rough benchmark speeds here:
>   https://gist.github.com/ge0ffrey/7662856f357dbec7f7ec
> Reproduce recipe
> - git clone optaplanner
> - Run TravelingTournamentApp, load dataset bra24, solve it for about 30 seconds.
> - Open travelingTournamentScoreRules.drl. Replace all occurrences of "day.getIndex()" with "day.index".
> - Run TravelingTournamentApp again, load dataset bra24, solve it for about 30 seconds again.
> - Compare the last log message of both runs: look for average calculate count per second (x). Higher is faster. For bra24, day.getIndex() is 3 times faster than day.index.



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jboss-jira mailing list