RFR: 8359955: Regressions ~7% in several J2DBench in 25-b26
Daniel Gredler
dgredler at openjdk.org
Thu Aug 14 16:02:14 UTC 2025
On Fri, 8 Aug 2025 21:26:26 GMT, Phil Race <prr at openjdk.org> wrote:
>> Addresses recent slight performance regressions in some J2DBench benchmarks focused on text drawing.
>>
>> `CCharToGlyphMapper` and `CompositeGlyphMapper` cache glyph IDs, but after JDK-8353230 they weren't caching glyph IDs for chars which might be affected by the raw / non-raw glyph distinction, since the cached value may not be correct if we ask for a raw glyph ID one time, but a non-raw glyph ID the next time (or vice versa). This caching exception was the reason for the slightly degraded performance (the `CCharToGlyphMapper` behavior was affecting macOS, and the `CompositeGlyphMapper` behavior was affecting some versions of Windows). This change splits the cache in each of these two classes into two caches, one for raw glyph IDs and one for non-raw glyph IDs, so that all glyphs can benefit from caching.
>>
>> All of the font tests (`make test TEST="jtreg:test/jdk/java/awt/font"`) pass for me locally with this change on Linux, macOS and Windows.
>
> LGTM. I ran all our automated jtreg tests on all platforms, plus JCK.
This one needs a second review, if any reviewers have some spare time. The discussion in JBS contains performance test results from Eric, and per @prrace's comment above, all tests are passing. Thanks!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26702#issuecomment-3188982503
More information about the client-libs-dev
mailing list