RFR: 8350811: [JMH] test foreign.StrLenTest failed with StringIndexOutOfBoundsException for size=451 [v2]
Volodymyr Paprotski
vpaprotski at openjdk.org
Thu Mar 6 00:11:01 UTC 2025
On Tue, 4 Mar 2025 19:37:32 GMT, Vladimir Ivanov <vaivanov at openjdk.org> wrote:
>> test setup was updated to generate data of requested size.
>
> Vladimir Ivanov has updated the pull request incrementally with one additional commit since the last revision:
>
> JDK-8350811 [JMH] test foreign.StrLenTest failed with StringIndexOutOfBoundsException for size=451
test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java line 149:
> 147: while (lorem.length() < size) {
> 148: lorem += lorem;
> 149: }
This is matter of taste, but I would prefer StringBuilder instead:
StringBuilder builder = new StringBuilder(lorem.length()+size);
for (int l = 0; l<size; l+=lorem.length()) {
builder.append(lorem);
}
return builder.substring(0, size);
test/micro/org/openjdk/bench/java/lang/foreign/StrLenTest.java line 181:
> 179:
> 180: static class SlicingPool {
> 181: final MemorySegment pool;
This seems ok; though I was suspicious but I can't measure a difference: with the default parameters for size of 5, 20, 100, arena was 10x-200x+ times bigger. Now it fits exactly.
I measured 1x, 10x, 100x (for size 1500 and 15000) and results appear consistent.
So, this is just a note; looks good
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23873#discussion_r1982330072
PR Review Comment: https://git.openjdk.org/jdk/pull/23873#discussion_r1982357391
More information about the core-libs-dev
mailing list