You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alex D Herbert (JIRA)" <ji...@apache.org> on 2019/06/29 10:28:00 UTC
[jira] [Resolved] (RNG-108) Update the SeedFactory to improve
performance
[ 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)