[ https://issues.apache.org/jira/browse/RNG-108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex D Herbert resolved RNG-108. -------------------------------- Resolution: Implemented In master. > Update the SeedFactory to improve performance > --------------------------------------------- > > Key: RNG-108 > URL: https://issues.apache.org/jira/browse/RNG-108 > Project: Commons RNG > Issue Type: Improvement > Components: simple > Affects Versions: 1.3 > Reporter: Alex D Herbert > Assignee: Alex D Herbert > Priority: Minor > Fix For: 1.3 > > Time Spent: 50m > Remaining Estimate: 0h > > The SeedFactory uses Well44497b mixed with a hashCode as the underlying > generator. This has output that does not pass BigCrush. Generation of numbers > uses a synchronized block around the generator on each call to the generator. > Analysis has shown that: > * Speed of seed array generation can be improved by outputting multiple > values per synchronisation > * Use of a XorShift1024SPhi generator which natively passes BigCrush will > provide enough output for seed generation before the period expires > * Synchronisation with a ReentrantLock provides more stable performance > during concurrent access > Update the SeedFactory to: > * Output arrays using blocks of numbers per synchronisation event > * Use XorShift1024SPhi > * Use a ReentrantLock -- This message was sent by Atlassian JIRA (v7.6.3#76005)