On Fri, 27 May 2022 14:18:19 GMT, Claes Redestad <redes...@openjdk.org> wrote:

> In preparation of #8855 this PR refactors the conversions from `List` to 
> array and array to `List`, reducing the number of conversions when calling 
> `MethodHandles.dropArguments` in particular. This remove about ~5% of 
> allocations on the `StringConcatFactoryBootstraps` microbenchmark.

Another datapoint is the `MethodHandlesDropArguments.interCreate` 
microbenchmark which explicitly tests `MethodHandles.dropArguments` (with a 
minimal argument list):

Before:

Benchmark                                                                Mode  
Cnt     Score    Error   Units
MethodHandlesDropArguments.interCreate                                   avgt   
 5   136.778 ?  1.265   ns/op
MethodHandlesDropArguments.interCreate:?gc.alloc.rate.norm               avgt   
 5   264.020 ?  0.021    B/op

Patch:

Benchmark                                                                Mode  
Cnt     Score     Error   Units
MethodHandlesDropArguments.interCreate                                   avgt   
 5   120.536 ?   3.133   ns/op
MethodHandlesDropArguments.interCreate:?gc.alloc.rate.norm               avgt   
 5   220.818 ?  41.309    B/op

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

PR: https://git.openjdk.java.net/jdk/pull/8923

Reply via email to