Hi Joram,
Please find attached a small project ( I added _.txt to trick your upload warning .. ), that illustrates what i mentioned in this ticket.
With this project, we basically start multiple instances of the same workflow (under src/test/resources/workflows/notifiy-event.bpmn)
This workflow just check the status of the given events, and will put it in cache, and start or stop an alert if appropriate. I voluntary kept it very simple (in our project of course we do things more complicated), just to isolate the parts where activiti is involved.
So, if you run the org.activiti.MyUnitTest, you will see that upon completion it will print you the processing times of workflows for each sets of events.
When I run it on my windows desktop (with Jdk 1.8), I got the following times in ms:
5.17.0
Conditions: events {10000, 75000, 35000}
[8583, 27493, 11978]
5.18.0
Conditions: events {10000, 75000, 35000}
[13530, 55849, 26835]
You can see that 5.18.0 takes more time than 5.17.0, with almost double processing times.
As default, it runs with activiti 5.17.0. To switch to activiti 5.18.0, just update the pom.xml activiti.version properties.
FYI, I configured an h2 in memory database for activiti.
Best Regards,
Mélanie