[ 
https://issues.apache.org/jira/browse/RNG-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Herbert updated RNG-88:
----------------------------
    Fix Version/s: 1.3

> 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 Herbert
>            Assignee: Alex Herbert
>            Priority: Minor
>             Fix For: 1.3
>
>         Attachments: baseline.jpg, next.png
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> 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
(v8.3.4#803005)

Reply via email to