[ https://issues.apache.org/jira/browse/RNG-57?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16689530#comment-16689530 ]
Gilles commented on RNG-57: --------------------------- bq. PR so they make running the \[stress\] tests easier. Yes, please. Could the "shade" plugin config be shared for making it easy to run all the examples that contain a {{main}} method (see RNG-29)? bq. I can now run DieHarder and BigCrush. How long should they take? Is this an overnight job? Durations are output at the end of the run; see the output files in the [user guide|http://commons.apache.org/proper/commons-rng/userguide/rng.html#a5._Quality]. Depending on the RNG under test, * a "Dieharder" run takes from about 100 to 250 minutes, * a "BigCrush" run takes from about 500 to 2000 minutes, per RNG. I'd guess that's the reason there are 3 suites in TestU01... Do you have a big cluster? :) > CachedUniformRandomProvider for nextBoolean() and nextInt() > ----------------------------------------------------------- > > Key: RNG-57 > URL: https://issues.apache.org/jira/browse/RNG-57 > Project: Commons RNG > Issue Type: Improvement > Components: core > Reporter: Alex D Herbert > Priority: Minor > Labels: performance > Fix For: 1.2 > > > Implement a wrapper around a {{UniformRandomProvider}} that can cache the > underlying source of random bytes for use in the methods {{nextBoolean()}} > and {{nextInt()}} (in the case of {{LongProvider}}). E.g. > {code:java} > LongProvider provider = RandomSource.create(RandomSource.SPLIT_MIX_64); > CachedLongProvider rng = new CachedLongProvider(provider); > // Uses cached nextLong() 64 times > rng.nextBoolean(); > // Uses cached nextLong() twice > rng.nextInt(); > IntProvider provider = RandomSource.create(RandomSource.KISS); > CachedIntProvider rng2 = new CachedIntProvider(provider); > // Uses cached nextInt() 32 times > rng2.nextBoolean(); > // This could be wrapped by a factory method: > UniformRandomProvider rng = CachedUniformRandomProviderFactory.wrap( > // Any supported source: IntProvider or LongProvider > RandomSource.create(RandomSource...)); > {code} > The implementation should be speed tested to determine the benefit for > {{nextBoolean()}} and if {{nextInt()}} can be improved for {{LongProviders}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005)