Scaling problem of HashMap (introduced with alternative hashing)

Mike Duigou mike.duigou at oracle.com
Thu Dec 27 19:55:06 UTC 2012


I am responding on the StackOverflow thread. I will look into using ThreadLocalRandom.

The random.next() is clearly a potential bottleneck but given that this happens only once per HashMap instance it is still unclear why a reasonable application would want to create hundreds or thousands of hash maps per second.

Mike

On Dec 27 2012, at 11:38 , Aleksey Shipilev wrote:

> Looks very like dumb inlined java.util.Random?
> Is there a security threat to use ThreadLocalRandom instead there?
> 
> -Aleksey.
> 
> On 27.12.2012, at 23:16, Zhong Yu <zhong.j.yu at gmail.com> wrote:
> 
>> Reported by the SO question
>> 
>>   http://stackoverflow.com/questions/14010906
>> 
>> the HashMap constructor contains a CAS, which is kind of surprising.
>> Could it be removed?
>> 
>>   transient final int hashSeed =
>> sun.misc.Hashing.randomHashSeed(this);  // CAS
>> 
>> Zhong Yu




More information about the core-libs-dev mailing list