JDK-6996807 : FieldReflectorKey hash code computation can be improved
Type:Enhancement
Component:core-libs
Sub-Component:java.io:serialization
Affected Version:7,8,11
Priority:P3
Status:Resolved
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2010-11-02
Updated:2020-02-21
Resolved:2019-01-02
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
ObjectStreamClass.FieldReflectorKey's constructor computes the hash code based on the String representation of the all of the field name and singatures. This is expensive and should be re-examined.
Comments
Fix Request (8u, 11u)
Backporting this simple patch improves serialization performance significantly to care. Patch applies cleanly to both 11u and 8u (requires reshufflings and copyright year adjustments). SPECjvm2008:serial demonstrates allocation rate improvements and marginal score improvements. jdk_io, jdk_nio tests are passing with the patch.
19-06-2019
SPECjvm2008:serial improves a little bit with this patch, and the allocation rate is down ~5%.