On Wed, 31 Mar 2021 21:47:24 GMT, Anthony Scarpino <ascarp...@openjdk.org> wrote:
> Hi, > > I need a review of the locking change to the RSA blinding code. The problem > was reported that multithreaded performance suffered because there was one > global lock on the many blindings operation. The change reduces locking by > using a ConcurrentLinkedQueue to store the different BlindingParameters that > other threads maybe using. The queue size is limited to prevent sudden > surges in stored BlindingParameters and a WeakHashMap is still used so the > objects can be freed when no longer used. Performance doubles under high > load. > > thanks > > Tony src/java.base/share/classes/sun/security/rsa/RSACore.java line 66: > 64: // like performance testing. > 65: private static final Map<BigInteger, > ConcurrentLinkedQueue<BlindingParameters>> > 66: blindingCache = new WeakHashMap<>(); I'd use a synchronizedMap here now ------------- PR: https://git.openjdk.java.net/jdk/pull/3296