On Sun, 26 Mar 2023 05:23:54 GMT, Chen Liang <li...@openjdk.org> wrote:

> This patch aims to improve the performance of MethodTypeDesc in general, as 
> it is currently a performance bottleneck in the Classfile API. A previous 
> revision changed the parameter storage from an array to a list; this is 
> dropped now. Sorry for the force push.
> 
> 
> Benchmark                                                             
> (descString)  Mode  Cnt    Score   Error  Units
> MethodTypeDescFactories.descriptorString   
> (Ljava/lang/Object;Ljava/lang/String;)I  avgt    6   27.778 ± 0.573  ns/op
> MethodTypeDescFactories.descriptorString                                      
>  ()V  avgt    6   13.343 ± 0.235  ns/op
> MethodTypeDescFactories.descriptorString  
> ([IJLjava/lang/String;Z)Ljava/util/List;  avgt    6   40.828 ± 0.448  ns/op
> MethodTypeDescFactories.descriptorString                     
> ()[Ljava/lang/String;  avgt    6   14.754 ± 0.162  ns/op
> MethodTypeDescFactories.ofArray            
> (Ljava/lang/Object;Ljava/lang/String;)I  avgt    6    8.616 ± 0.132  ns/op
> MethodTypeDescFactories.ofArray                                               
>  ()V  avgt    6    2.146 ± 0.293  ns/op
> MethodTypeDescFactories.ofArray           
> ([IJLjava/lang/String;Z)Ljava/util/List;  avgt    6   14.595 ± 0.235  ns/op
> MethodTypeDescFactories.ofArray                              
> ()[Ljava/lang/String;  avgt    6    2.064 ± 0.085  ns/op
> MethodTypeDescFactories.ofDescriptor       
> (Ljava/lang/Object;Ljava/lang/String;)I  avgt    6   97.077 ± 2.482  ns/op
> MethodTypeDescFactories.ofDescriptor                                          
>  ()V  avgt    6   13.563 ± 0.111  ns/op
> MethodTypeDescFactories.ofDescriptor      
> ([IJLjava/lang/String;Z)Ljava/util/List;  avgt    6  130.543 ± 2.847  ns/op
> MethodTypeDescFactories.ofDescriptor                         
> ()[Ljava/lang/String;  avgt    6   35.286 ± 0.260  ns/op
> MethodTypeDescFactories.ofList             
> (Ljava/lang/Object;Ljava/lang/String;)I  avgt    6    4.156 ± 0.258  ns/op
> MethodTypeDescFactories.ofList                                                
>  ()V  avgt    6    2.192 ± 0.063  ns/op
> MethodTypeDescFactories.ofList            
> ([IJLjava/lang/String;Z)Ljava/util/List;  avgt    6   41.002 ± 0.235  ns/op
> MethodTypeDescFactories.ofList                               
> ()[Ljava/lang/String;  avgt    6    2.200 ± 0.041  ns/op

This pull request has now been integrated.

Changeset: 38cef2ad
Author:    Chen Liang <li...@openjdk.org>
Committer: Mandy Chung <mch...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/38cef2adbd956ac1e953ea7a7e7952fe093a9872
Stats:     283 lines in 4 files changed: 198 ins; 44 del; 41 mod

8309413: Improve the performance of MethodTypeDesc::descriptorString
8304932: MethodTypeDescImpl can be mutated by argument passed to 
MethodTypeDesc.of

Reviewed-by: mchung

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

PR: https://git.openjdk.org/jdk/pull/13186

Reply via email to