RFR: 8332249: Micro-optimize Method.hashCode
Sean Gwizdak
duke at openjdk.org
Fri May 31 16:35:11 UTC 2024
Improve the speed of Method.hashCode by caching the hashcode on first use. I've seen an application where Method.hashCode is a hot path, and this is a fairly simple speedup. The memory overhead is low.
This addresses issue [JDK-8332249](https://bugs.openjdk.org/browse/JDK-8332249).
Before:
Benchmark Mode Cnt Score Error Units
# Intel Skylake
MethodHashCode.benchmarkHashCode avgt 5 1.843 ± 0.149 ns/op
# Arm Neoverse N1
MethodHashCode.benchmarkHashCode avgt 5 2.363 ± 0.091 ns/op
After:
Benchmark Mode Cnt Score Error Units
# Intel Skylake
MethodHashCode.benchmarkHashCode avgt 5 1.121 ± 1.189 ns/op
# Arm Neoverse N1
MethodHashCode.benchmarkHashCode avgt 5 1.001 ± 0.001 ns/op
-------------
Commit messages:
- Remove changes to JavaDoc per guidance.
- Fix whitespace issues pointed by the bot
- Micro-optimize Method.hashCode
Changes: https://git.openjdk.org/jdk/pull/19433/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19433&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8332249
Stats: 58 lines in 2 files changed: 57 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/19433.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19433/head:pull/19433
PR: https://git.openjdk.org/jdk/pull/19433
More information about the core-libs-dev
mailing list