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)

Reply via email to