Alex D Herbert created RNG-88:
---------------------------------
Summary: Update the GenerationPerformance benchmark
Key: RNG-88
URL: https://issues.apache.org/jira/browse/RNG-88
Project: Commons RNG
Issue Type: Improvement
Components: examples
Affects Versions: 1.3
Reporter: Alex D Herbert
Assignee: Alex D Herbert
The current GenerationPerformance benchmark runs all the generators to collect
timing data. However the act of running the test within JMH takes some time
(test overhead). This overhead should be measured and subtracted from the
timing data to create a time attributed only to the method exercised in the RNG.
This can be done by creating a dummy RNG that returns a fixed value. The
implementation must be done in a manner where the JIT compiler is not able to
remove the dummy method from the execution path. This is achieved by returning
state variables from the dummy RNG (not final variables).
Testing can be done using a variable number of iterations and the run-times
assessed for linearity. If the run time scale with the number of iterations
then the JIT compiler has not removed it from execution. The dummy RNG then
serves as a baseline for comparison of true implementations.
This idea with examples is shown in
[RNG-87|https://issues.apache.org/jira/browse/RNG-87] which tested a variant of
the MWC_256 algorithm.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)