RFR [15] 8248233: Avoid superfluous Class::isRecord invocations during deserialization
Chris Hegarty
chris.hegarty at oracle.com
Wed Jun 24 15:46:06 UTC 2020
A micro-optimisation noticed when working on JDK-8247532.
For further details see:
https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-June/067446.html
Webrev:
https://cr.openjdk.java.net/~chegar/8248233/webrev.00/
before:
RecordSerializationBench.deserializeClasses 10 avgt 10 13.874 ± 1.445 us/op
RecordSerializationBench.deserializeClasses 100 avgt 10 57.839 ± 3.944 us/op
RecordSerializationBench.deserializeClasses 1000 avgt 10 515.483 ± 57.275 us/op
RecordSerializationBench.deserializeRecords 10 avgt 10 13.563 ± 0.459 us/op
RecordSerializationBench.deserializeRecords 100 avgt 10 61.704 ± 2.481 us/op
RecordSerializationBench.deserializeRecords 1000 avgt 10 518.671 ± 19.147 us/op
after:
RecordSerializationBench.deserializeClasses 10 avgt 10 16.021 ± 9.091 us/op
RecordSerializationBench.deserializeClasses 100 avgt 10 58.550 ± 2.164 us/op
RecordSerializationBench.deserializeClasses 1000 avgt 10 524.930 ± 49.663 us/op
RecordSerializationBench.deserializeRecords 10 avgt 10 12.567 ± 0.711 us/op
RecordSerializationBench.deserializeRecords 100 avgt 10 50.235 ± 1.977 us/op
RecordSerializationBench.deserializeRecords 1000 avgt 10 421.557 ± 17.348 us/op
-Chris.
[1] https://bugs.openjdk.java.net/browse/JDK-8247532
More information about the core-libs-dev
mailing list