Alex D Herbert created RNG-108:
----------------------------------
Summary: 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
Fix For: 1.3
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)