In June 2019 we've conducted series of test to determine Higson efficiency and compare it to leading business rules management system (BRMS) for Java applications. Higson proved to be hyper efficient:
100,000 complex calculations in around 90 seconds
Less than 1 millisecond per calculation
Higson 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: Higson 225 MB vs other BRMS: 3 GB. Higson uses 93% less memory. Higson has got also far more Garbage Collector invocations that helps keeping low memory consumption.
Classes/ Higson 4,000 vs other BRMS 92,400. Hyperon loads 96% fewer classes.
CPU/ Startup: Higson 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 Higson graph that stays around 15%.
Test shows, that Hyperon is around 62 times faster on average.
Memory/ Largest Heap Usage: Higson 190 MB vs other BRMS: 3.25 GB. Higson uses 94% less memory. Higson 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 Higson loaded classes is constant. It doesn’t depend on number of decision tables, rows etc.
CPU/ Startup: Higson 35% vs other BRMS 100%. During calculations: Higson 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 Higson graph that stays around 15%.
Test case 2 shows similar test results to the first test case, Higson is around 62 times faster on average.
Memory/ Largest Heap Usage: Higson 180 MB vs other BRMS: 1.25 GB. Higson uses 86% less memory. Other BRMS memory usage looks better than in 100,000 calculation tests, but it is still far more than Higson’s results.
Classes/ Higson 4,000 vs other BRMS 92,400. Higson loads 96% fewer classes.
CPU/ Startup: Higson 40% vs other BRMS 100%. During calculations: Higson 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 Higson results.
Tests on smaller calculation number shows even bigger gap, Higson is around 119.5 times faster on average than other BRMS.
Memory/ Largest Heap Usage: Higson 200 MB vs other BRMS: 1.5 GB. Higson uses 87% less memory.
Classes/ Higson 4,000 vs other BRMS 92,300. Higson loads 96% fewer classes.
CPU/ Startup: Higson 50% vs other BRMS 95%. During calculations: Higson 12% vs other BRMS 15-30%.
Tests one more time show how much Higson 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: Higson 180 MB vs other BRMS: 800 MB. Hyperon uses 78% less memory.
Classes/ Higson 4,000 vs other BRMS 48,400. Hyperon loads 92% fewer classes.
CPU/ Startup: Higson 35% vs other BRMS 95%. During calculations: Higson 12% vs other BRMS 15-20%.
There is no big differences comparing results from both test cases. In test case 2, Higson 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 Higson to develop innovative products and generate new revenue streams.
These are their success stories
By using this website, you agree to the cookies storage Privacy Policy