On 15/12/2011 7:45 AM, Paul Ciprich wrote:
I've created a bug report to address a scalability problem with
BigInteger's staticRandom field. The problem is that the shared
staticRandom field causes bottlenecks with parallel code. The proposed
solution is to change the staticRandom field to a ThreadLocal and eliminate
the bottleneck by giving each thread its own copy of the SecureRandom
object. Bug 100218 contains a patch with the proposed change if it is
deemed acceptable.

As I wrote in the bug report:

If multiple threads pound on probablePrime then the shared random instance may indeed become a bottleneck. The performance implications of switching to a Thread-local instance needs to be given due consideration for the uncontended case.

Also you need to consider the lifetime of these Thread-local Random instances as with the current proposal they will remain live for the lifetime of the thread.

---

David Holmes

Reply via email to