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

John Hendrikx jhendrikx at openjdk.org
Wed Jan 3 17:33:57 UTC 2024


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.

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

Commit messages:
 - Fix regression

Changes: https://git.openjdk.org/jfx/pull/1314/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1314&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8322795
  Stats: 6 lines in 1 file changed: 2 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jfx/pull/1314.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1314/head:pull/1314

PR: https://git.openjdk.org/jfx/pull/1314


More information about the openjfx-dev mailing list