On Tue, 14 May 2024 20:20:59 GMT, Chen Liang <li...@openjdk.org> wrote:
>> Claes Redestad has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Add microbenchmark for ClassDesc methods + a few optimizations > > src/java.base/share/classes/java/lang/constant/ClassDesc.java line 226: > >> 224: for (int i = 0; i < rank; i++) { >> 225: sb.append('['); >> 226: } > > Would `sb.repeat("[", rank);` be better here? > > Also for parity with `arrayType()` I recommend moving this building code to > after the void check. Oh, that's new (in 21). I was comparing against `append("[".repeat(rank))` which had a cost here. `sb.repeat('[', rank)` is in the same ballpark and simpler. Fixing. Benchmark Mode Cnt Score Error Units ClassDescMethods.arrayType2 avgt 15 31,568 ± 2,108 ns/op ClassDescMethods.arrayType2:gc.alloc.rate avgt 15 7758,056 ± 474,378 MB/sec ClassDescMethods.arrayType2:gc.alloc.rate.norm avgt 15 256,000 ± 0,001 B/op I'll align the code to construct `newDesc` before the void check in both methods. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19105#discussion_r1601088246