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)