One of the main goals of the recent release was performance improvement. Usually improving speed is a very hard task. That is because there are lots of parameters involved. And the environmental parameters are always a challenge.

Sometimes people think if you do not compile code or use a high-level language (e.g., XML) to define rules, they become slow. But I will tell you something very interesting – FlexRule has managed to execute 100 operations in 0.8ms.

In this release, we managed to improve the performance of the Validation and Decision engine a lot.

Here is the result:


In our testing environment, we ran the tests twice for each version and chose the best result for each run.

The result is based on executing the rules 10,000 times containing 100 rule commands: Method call, value comparisons, logic reuse and calculating expressions. (100 rule commands on each execution).

We managed to improve the execution time. Now a single execution of the tested rules takes under 1ms. Or to be more precise, 0.8ms!

Last updated April 24th, 2017 at 05:28 pm, Published May 28th, 2014 at 05:28 pm