Hi Chris,

The patch looks good.


Before the patch it made sense to have if (cl != null) in line 750 in ObjectStreamClass, but now nothing in the if block depends on cl, so you could use if (osc != null) instead. It is true that:


(cl != null) == (osc != null)


always holds there, but reading the code is easier that way, don't you think? Maybe you could even consider merging the content of this if block into the similar if block that starts in line 771?


Regards, Peter


On 6/24/20 5:46 PM, Chris Hegarty wrote:
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.deserializeClasses10avgt 10 13.874 ±1.445us/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.deserializeClasses10avgt 10 16.021 ±9.091us/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

Reply via email to