Well, after spending more time on the performance improvement of the framework, I managed to push it more.

I just wanted to share the latest results in the performance improvement of different engines. Now it seems much more stable and faster.

Procedural Engine:

On the procedural engine, we managed to reduce the time for first execution from 54ms to 30ms and for the re-execution we managed to make it 1.5ms from 6.5ms. That is pretty impressive – keep in mind that for each time in the process of evaluation, 3 rules are being executed.

Inter-link Rules:

On interlink rules we managed to reduce the execution for the first time from 75ms to 43ms and for re-execution we improved it from 9.8Ms to 6.7ms.

Rule Flow:

And for the Rule Flow Engine, we managed to improve this for first time execution from 255ms to 144ms and for re-execution from 29.8ms to 17.6ms.

Measurement facts:

All of the above-mentioned results been measured using my Dell laptop, with the following specifications:

OS: Windows 7 (32 bit)
RAM: 4 GB
Processor: Intel Core 2 Due 2.50 GHz

r6-current

Execution of three rules for “Invoice Sample” using FlexRule R6 (1.6.2)

 

Overall for version 1.6.2, we have the following performance improvements:

 

Initial (First time execution)Final (First time execution)One rule (first time)Percentage (First execution)Initial (Re-execution)Final(Re-Execution)One rule (Re-execution)Percentage (Re-execution)
Procedural54301055%6.51.50.523%
Inter-link754314.357%9.86.72.266%
Flow2551444856%29.817.65.859%

All tests were based on the “Invoice sample” in the installer package. And for each of the execution measurements, 3 rules have been executed.

In the older post, we measured the initial improvements of release R6 but we still continued to improve the performance as much as possible, and these new results are based on improvements after the previous posts.

Last updated September 22nd, 2020 at 11:38 am, Published April 23rd, 2012 at 11:38 am