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.

To download the current JDK release, click here.
JDK 11 JDK 13 JDK 8 Other
11.0.5Fixed 13 b03Fixed 8u251Fixed openjdk8u232Fixed
Description
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%.
19-06-2019