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