In June 2019 we've conducted series of test to determine Hyperon efficiency and compare it to leading business rules management system (BRMS) for Java applications. Hyperon proved to be hyper efficient:
100,000 complex calculations in around 90 seconds
Less than 1 millisecond per calculation
Hyperon was between 62 to 119 times faster than other BRMS in all tests
Please read detailed case study below for more info. You can also request full case study.
Methodology
Laptop specification
HP Zbook 15 G3
Windows 10 Pro
Intel i7-6700HQ @ 2.60 GHz
16 GB RAM
Test definitions
1) Average Time for 100,000 calculations
2 forks
1 thread
Ten 1-second warmups
Twenty 1-second iterations
2) Average Time for 1,000 calculations
2 forks
1 thread
Ten 1-second warmups
Twenty 1-second iterations
3) Throughput
2 forks
1 thread
Ten 1-second warmups
Twenty 1-second iterations
Algorithm
General algorithm consists of 3 steps:
Get Qx factor from Qx decision table (1 output value based on 2 input conditions).
Get Rate adjustment factor from decision table (1 output value based on 4 input conditions).
Multiply Qx by Rate adjustment.
However, there are 2 test cases that differs subtly:
All test inputs are in decision tables. Qx decision table has 200 rows, Rate adjustment decision table has 18,000 rows.
Not all test inputs are in decision tables, therefore there are „if nothing else match” rows for such cases. Qx decision table has 200 rows, Rate adjustment decision table has 8,400 rows.
Memory/ Largest Heap Usage: Hyperon 225 MB vs other BRMS: 3 GB. Hyperon uses 93% less memory. Hyperon has got also far more Garbage Collector invocations that helps keeping low memory consumption.
Classes/ Hyperon 4,000 vs other BRMS 92,400. Hyperon loads 96% fewer classes.
CPU/ Startup: Hyperon 40% vs other BRMS 100%. During calculations: Hyperon 15% vs other BRMS 25-30%. Other BRMS graph is also far more volatile, constantly jumping between 40% and 15% CPU load comparing to smooth Hyperon graph that stays around 15%.
Test shows, that Hyperon is around 62 times faster on average.
Memory/ Largest Heap Usage: Hyperon 190 MB vs other BRMS: 3.25 GB. Hyperon uses 94% less memory. Hyperon has got also far more Garbage Collector invocations that helps keeping low memory consumption.
Classes/ Hyperon 4,000 vs other BRMS 48,500. Hyperon loads 92% fewer classes. The number of Hyperon loaded classes is constant. It doesn’t depend on number of decision tables, rows etc.
CPU/ Startup: Hyperon 35% vs other BRMS 100%. During calculations: Hyperon 15% vs other BRMS 25-30%. Other BRMS graph is also far more volatile, constantly jumping between 40% and 15% CPU load comparing to smooth Hyperon graph that stays around 15%.
Test case 2 shows similar test results to the first test case, Hyperon is around 62 times faster on average.
Memory/ Largest Heap Usage: Hyperon 180 MB vs other BRMS: 1.25 GB. Hyperon uses 86% less memory. Other BRMS memory usage looks better than in 100,000 calculation tests, but it is still far more than Hyperon’s results.
Classes/ Hyperon 4,000 vs other BRMS 92,400. Hyperon loads 96% fewer classes.
CPU/ Startup: Hyperon 40% vs other BRMS 100%. During calculations: Hyperon 15% vs other BRMS 25-30%. Other BRMS graph looks much better than in previous tests (not so many load peaks) but it is still worse than Hyperon results.
Tests on smaller calculation number shows even bigger gap, Hyperon is around 119.5 times faster on average than other BRMS.
Memory/ Largest Heap Usage: Hyperon 200 MB vs other BRMS: 1.5 GB. Hyperon uses 87% less memory.
Classes/ Hyperon 4,000 vs other BRMS 92,300. Hyperon loads 96% fewer classes.
CPU/ Startup: Hyperon 50% vs other BRMS 95%. During calculations: Hyperon 12% vs other BRMS 15-30%.
Tests one more time show how much Hyperon is faster than other BRMS, in the first test case around 86 times faster on average. It is worth noting that with each iteration other BRMS performance was increasing, score from last iteration is over 100% bigger than score from the first one. JIT and all its class optimization is probably the source of performance boost.
Memory/ Largest Heap Usage: Hyperon 180 MB vs other BRMS: 800 MB. Hyperon uses 78% less memory.
Classes/ Hyperon 4,000 vs other BRMS 48,400. Hyperon loads 92% fewer classes.
CPU/ Startup: Hyperon 35% vs other BRMS 95%. During calculations: Hyperon 12% vs other BRMS 15-20%.
There is no big differences comparing results from both test cases. In test case 2, Hyperon is around 90 times faster on average. It is worth noting that with each iteration other BRMS performance was increasing, score from last iteration is over 100% bigger than score from the first one. JIT and all its class optimization is probably the source of performance boost.
Our customers use Hyperon to develop innovative products and generate new revenue streams.
These are their success stories
Use Cases.
Hyperon is a parameters engine you can configure to use it as a
Check how your company could benefit from Hyperon: development cost decrease, shorter time to market, easy maintance, elastic architecture and much more!