RFR8220166 : Performance regression in deserialization

Roger Riggs Roger.Riggs at oracle.com
Wed May 15 20:32:09 UTC 2019


Please review a change in the synchronization during the creation of an 
ObjectInputStream.
Currently, a synchronized block is used to initialize the streams filter 
is read the global serial filter
which becomes a bottleneck under high concurrency.  Since the value only 
ever changes from null to non-null
once, the synchronization is not needed.  Changing the field to volatile 
and removing
the synchronization on read should alleviate the contention.

Issue:
   https://bugs.openjdk.java.net/browse/JDK-8220166

Webrev:
   http://cr.openjdk.java.net/~rriggs/webrev-fix-8220166/index.html

Thanks, Roger



More information about the core-libs-dev mailing list