On Tue, 28 Jan 2025 14:49:45 GMT, Shaojin Wen <[email protected]> wrote:
> Expand DIGITS length to 128 and eliminate array bounds checking by using & > 0x7F when accessing DIGITS This minor change achieves a ~3-5% performance improvement on MacBook M1 Pro. ## 1. Script git remote add wenshao [email protected]:wenshao/jdk.git git fetch wenshao #baseline git checkout 2bef5b4a877f4d3bc766558b8782b7b57dee79a8 make test TEST="micro:java.lang.StringBuilders.appendWithLong" make test TEST="micro:java.lang.StringBuilders.appendWithInt" # current git checkout 2bd9f306bdfb6b3a6082bece69bfe7f7c029d289 make test TEST="micro:java.lang.StringBuilders.appendWithLong" make test TEST="micro:java.lang.StringBuilders.appendWithInt" ## 2. The performance numbers under MacBook M1 Pro -# baseline -Benchmark Mode Cnt Score Error Units (2bef5b4a877) -StringBuilders.appendWithLongLatin1 avgt 15 203.001 ? 0.369 ns/op -StringBuilders.appendWithLongUtf16 avgt 15 225.749 ? 2.675 ns/op -StringBuilders.appendWithIntLatin1 avgt 15 137.246 ? 1.220 ns/op -StringBuilders.appendWithIntUtf16 avgt 15 154.522 ? 0.889 ns/op +# current +Benchmark Mode Cnt Score Error Units +StringBuilders.appendWithLongLatin1 avgt 15 191.743 ? 0.700 ns/op +5.87% +StringBuilders.appendWithLongUtf16 avgt 15 218.538 ? 2.553 ns/op +3.29% +StringBuilders.appendWithIntLatin1 avgt 15 132.107 ? 0.509 ns/op +3.89% +StringBuilders.appendWithIntUtf16 avgt 15 149.093 ? 2.551 ns/op +3.64% ------------- PR Comment: https://git.openjdk.org/jdk/pull/23335#issuecomment-2619265149
