On Thu, 4 May 2023 23:29:17 GMT, Chen Liang <li...@openjdk.org> wrote:

> This patch migrates `MethodHandles::arrayConstructor`, added in Java 9 as a 
> hotfix to the incorrect constructor found on arrays via Lookup, to share the 
> array access caching features. The result is that calling 
> `MethodHandles.arrayConstructor` to create method handles is much faster.
> 
> Oracle JDK 20:
> 
> Benchmark                                             Mode  Cnt   Score   
> Error  Units
> MethodHandlesArrayConstructor.createWithAnewarray     avgt   15   2.739 ± 
> 0.058  ns/op
> MethodHandlesArrayConstructor.createWithMethodHandle  avgt   15   3.313 ± 
> 0.041  ns/op
> MethodHandlesArrayConstructor.methodHandleCreation    avgt   15  61.874 ± 
> 0.397  ns/op
> 
> 
> This patch:
> 
> Benchmark                                             Mode  Cnt  Score   
> Error  Units
> MethodHandlesArrayConstructor.createWithAnewarray     avgt   15  3.067 ± 
> 0.026  ns/op
> MethodHandlesArrayConstructor.createWithMethodHandle  avgt   15  3.699 ± 
> 0.042  ns/op
> MethodHandlesArrayConstructor.methodHandleCreation    avgt   15  1.447 ± 
> 0.004  ns/op

keep-alive.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13819#issuecomment-1572983914

Reply via email to