You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alex Herbert (Jira)" <ji...@apache.org> on 2019/11/05 12:33:00 UTC

[jira] [Updated] (RNG-88) Update the GenerationPerformance benchmark

     [ 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)