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