RFR: JDK-8322795 CSS performance regression up to 10x

Kevin Rushforth kcr at openjdk.org
Thu Jan 4 22:45:33 UTC 2024


On Wed, 3 Jan 2024 01:14:13 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:

> The regression is caused by the `Collections.unmodifiableSet` wrapper not being recognized by `BitSet`, and a fall back is done to a less optimized version of `containsAll`.
> 
> As this is a regression fix, I've kept the fix as small as reasonable.  I'll provide a further optimized version as part of https://bugs.openjdk.org/browse/JDK-8322964 which eliminates the need for `BitSet` and `StyleClass` in the hot code paths which should result in a further CSS performance improvement.
> 
> I've tested this solution with the JFXCentral application locally and the regression seems resolved.

This looks like a safe and effective performance fix.

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

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1314#pullrequestreview-1805077520


More information about the openjfx-dev mailing list