In general, conditions without Jinja are now about 50% faster, however, when multiple conditions are connected in chains or networks in a scenario, the speed improvement is insane.
In the past, the scenario on the picture took over 3 hours to complete due to streaming billions of customers between the conditions, even though it actually affects only a few thousand.
That’s why it was previously recommended to place the most eliminating conditions first or combine conditions, if possible.
The new system is able to detect and simultaneously evaluate all connected conditions with minimal overhead.
The example scenario now executes in less than half a minute – an improvement in the scale of hundreds.
What this means for you
You no longer need to worry about the most optimal order of condition nodes or combine them, scenarios will be fast and efficient anyway. Note the optimization can only reach within connected chains or networks of conditions without Jinja, other nodes keep their previous speed.
Another improvement in conditions is their stability. Scenarios processing tens of millions of customers previously had a limited risk of getting permanently stuck. This risk is now significantly reduced, thanks to a complex system of recovery and this will be completely eliminated once the improvement is completed in a future release.
We also improved the stability of wait nodes with Jinja, which should now be safe for use even with large amounts of customers.