Hi,

I've created a following JIRA task, to add JMH dependency and allow
execution of microbenchmarks based on JMH framework. I've added maven
profile to separate compilation of benchmark related jar from the main
stream. My proposed changes attached to the JIRA issue, any comments or
suggestions are welcomed.


Also it will be interesting to hear ideas where to actually write and
implement the benchmarks once such change will be added. Moreover it's
important to note, that using JMH it only allows to compare algorithms and
different implementations performance wise rather than comparing the
actually accuracy of result produced. For example if I'll add a benchmark
to compare different random source providers, I will receive results which
show me what is the most performant provider for given workload, while
nothing regarding the actually accuracy of the algorithm I've implemented
to run the comparison.

More particularly I've added a benchmark to estimate value of PI add this
is the results I've got out of JMH:

# Run complete. Total time: 00:01:35

Benchmark                         (pairsToGenerate)  (randomSourceName)
Mode  Cnt      Score       Error  Units
PiComputationBenchmark.computePi            1000000                 JDK
avgt    5  44076.310 ±  2794.888  us/op
PiComputationBenchmark.computePi            1000000          WELL_512_A
avgt    5  19374.112 ±  4973.542  us/op
PiComputationBenchmark.computePi            1000000         WELL_1024_A
avgt    5  20575.240 ±  4298.444  us/op
PiComputationBenchmark.computePi            1000000        WELL_19937_A
avgt    5  42208.136 ±  2062.648  us/op
PiComputationBenchmark.computePi            1000000        WELL_19937_C
avgt    5  45105.231 ±  2752.918  us/op
PiComputationBenchmark.computePi            1000000        WELL_44497_A
avgt    5  49710.663 ± 15786.830  us/op
PiComputationBenchmark.computePi            1000000        WELL_44497_B
avgt    5  48984.700 ±  2449.719  us/op
PiComputationBenchmark.computePi            1000000                  MT
avgt    5  22466.565 ±  1377.585  us/op
PiComputationBenchmark.computePi            1000000               ISAAC
avgt    5  21615.283 ±  1080.331  us/op

Note, there is nothing here that shows how actually computed PI results is
close to real value.

Best regards,
                      Artem Barger.

Reply via email to