RFR: 8320448: Accelerate IndexOf using AVX2 [v48]

Scott Gibbons sgibbons at openjdk.org
Thu May 30 13:36:18 UTC 2024


On Thu, 30 May 2024 06:25:32 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> Scott Gibbons has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Remove duplicate vm.compiler2.enabled
>
> Control question: Are we confident with this potentially going into JDK 23 or should we rather postpone to JDK 24? The fork is next week.

Thank you all for the comments.  @TobiHartmann I'm comfortable with this going into JDK 23.  The code has been functionally stable for me for the past 2 months.  The recent churn centers primarily around restructuring the code for readability and maintainability and ensuring protection against reading past the end of strings.  Both Vlad (Volodymyr) and @sviswa7 have scoured the code with me and together we have convinced ourselves that we've covered all the bases.  Of course we may have missed something but my confidence is high.

The overall performance gain as reported by the StringIndexOf JMH averages ~7x running on an e-core as compared with baseline on the same core.  It's skewed somewhat towards massive gains for long (~2K) strings (avg 14.4x) and modest gains for small-ish strings (avg ~1.8x).  I've measured up to 60x performance improvement for some 2K UTF-16 indexOf operations.

Again, thank you all.  It's been a fun exercise and I've learned a lot.

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

PR Comment: https://git.openjdk.org/jdk/pull/16753#issuecomment-2139569361


More information about the hotspot-compiler-dev mailing list