Integrated: 8332249: Micro-optimize Method.hashCode
Sean Gwizdak
duke at openjdk.org
Fri Jul 12 21:53:03 UTC 2024
On Tue, 28 May 2024 17:25:34 GMT, Sean Gwizdak <duke at openjdk.org> wrote:
> 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
This pull request has now been integrated.
Changeset: 8ba9bc6f
Author: Sean Gwizdak <sgwizdak at amazon.com>
Committer: Chen Liang <liach at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/8ba9bc6f1735be98dcc039244a28884b4d9620ae
Stats: 20 lines in 2 files changed: 17 ins; 0 del; 3 mod
8332249: Micro-optimize Method.hashCode
Reviewed-by: liach
-------------
PR: https://git.openjdk.org/jdk/pull/19433
More information about the core-libs-dev
mailing list