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)

Reply via email to