Any performance Impact with the gateways?

Hello All

I have a question with respect to performance with following BPMN’s. What is I use inclusive gateway instead of exclusive, what impact will it cause on performance? or any other impact or downsides that you see?

BPMN 1
image
BPMN 2
image

Thanks in advance
Abhijeet

Hi @Abhijeet_Kotkar,

there will be no remarkable performance difference between both alternative gateway types.

Merging in an exclusive gateway is cheaper, as no synchronization needs to be checked. The token just continues the outgoing sequence flow.

If you don’t use a default flow, the splitting exclusive gateway is a little bit quicker, if the first expression resolves to true. Then, the second condition will not be evaluated.

Hope this helps, Ingo

1 Like

Hi @Ingo_Richtsmeier thanks a lot for your response. Actually my problem is we have camunda as a bpmn with one of the COTS product and this COTS product has disabled many of the camunda features including use of Exclusive gateway. Thus many of our long running flows are designed using inclusive gateway, and thus checking if having 100’s of inclusive gateways instead of exclusive can cause impact on performance.

Hi @Abhijeet_Kotkar,

What kind of performance do you refer to? (CPU load of the engine, completion time of a process instance, time until the next task is available, …)

Hi @Ingo_Richtsmeier I am specifically looking for CPU load, completion time of the process. I am not sure if it is even correct to use inclusive instead of exclusive in every single case when every gateway has specific use defined.

Hi @Abhijeet_Kotkar,

in BPMN 1, the default flow will always be activated, while the Task A will only be activated, if the condition is evaluated to true. Merging both flows is fine.

In BPMN 2, either the Task A will be executed or the default flow to skip the task will be activated. The process can continue directly without any consideration.

The second option looks more natural to me, while both versions are logically the same. The execution of the exclusive gateway is faster than the inclusive, but I think that you can measure the difference in a reasonable unit of time.

But these are just simple example, I don’t know how the complex examples may look like.

Hope this helps, Ingo