RFR: 8320448: Accelerate IndexOf using AVX2 [v19]

Volodymyr Paprotski duke at openjdk.org
Fri May 24 18:30:14 UTC 2024


On Wed, 22 May 2024 14:41:36 GMT, Scott Gibbons <sgibbons at openjdk.org> wrote:

>> test/micro/org/openjdk/bench/java/lang/StringIndexOfHuge.java line 132:
>> 
>>> 130:   @Benchmark
>>> 131:   public int searchHugeLargeSubstring() {
>>> 132:       return dataStringHuge.indexOf("B".repeat(30) + "X" + "A".repeat(30), 74);
>> 
>> .repeat() call and string concatenation shouldn't be part of the benchmark (here and several other @Benchmark functions in this file) since it will detract from the measurement.
>> 
>> (String concatenation gets converted (by javac) into StringBuilder().append().append()....append().toString())
>
> Since we're only concerned with the delta of performance, does this really matter?  Can you suggest an alternative?

The needle really should be like the all the other strings, e.g. `dataStringHuge` itself, generated by the setup. 

As to weather it really matters; the answer is Amdahl's law. You can indeed measure the delta, but you can't measure the speedup of just the indexOf; not with repeat and concatenation obscuring the numbers.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16753#discussion_r1613864094


More information about the core-libs-dev mailing list