On 01/07/2013 01:19 PM, Alexey Utkin wrote:
I am sorry. Seems that I am out of discussion context, but did we get
that sort of problem:
https://code.google.com/p/android/issues/detail?id=42265#c114
http://forum.xda-developers.com/showthread.php?t=1987032&nocache=0
The article in Russian:
http://habrahabr.ru/post/164881/
Not sure there is a real problem here, if you wake up the CPU of your
smartphone often you have better performance (and less battery), paying
an application for that is a scam. Anyway, it's related to android
kernel/ecosystem so not applicable here.
The issue here is that SecureRandom use a lock so if you create a lot of
HashMap in a tight loop you can see a regression. I don't think it
impact real application and as Mike said, using a ThreadLocalRandom
seems a good idea here (no idea if it's secure to use it) .
Regards,
-uta
cheers,
RĂ©mi
On 27.12.2012 23:55, Mike Duigou wrote:
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...@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