On Mon, 15 Mar 2021 20:55:24 GMT, Xue-Lei Andrew Fan <xue...@openjdk.org> wrote:

>> Can someone help review this somewhat trivial change?
>> 
>> Updated JCAUtil class to return the cached SecureRandom object only when the 
>> provider configuration has not changed. 
>> Added a regression test to check the affected classes, i.e. 
>> AlgorithmParameterGenerator, KeyPairGenerator, Cipher, KeyAgreement, 
>> KeyGenerator. 
>> 
>> Thanks,
>> Valerie
>
> src/java.base/share/classes/sun/security/jca/JCAUtil.java line 62:
> 
>> 60:         private static SecureRandom instance = new SecureRandom();
>> 61:         public static SecureRandom instance(boolean checkConfig) {
>> 62:             synchronized (CachedSecureRandomHolder.class) {
> 
> Is there a performance regression because of this synchronization?

It depends, this may not be a "hot area" where there is a lot of contention? Or 
do you feel maybe we should just go with the slower "new SecureRandom()" call 
for each affected class? I am on the fence actually.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3018

Reply via email to