RFR: Prefer to take AOT method from the SC queue faster

Aleksey Shipilev shade at openjdk.org
Fri Sep 6 19:53:45 UTC 2024


Probably WIP. Humor me for a second: why could not / should not we take the AOT task for "compilation" (installation, really) right away like this? I suspect when SC queues are overwhelmed with N elements, we keep walking the entire SC queue for no particular reason?

This improves javac benchmark considerably (look at both wall time and user time):


# BEFORE
Benchmark 1: build/linux-x86_64-server-release/images/jdk/bin/java -XX:CacheDataStore=app.cds -Xmx256m -Xms256m -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -cp JavacBenchApp.jar JavacBenchApp 50
  Time (mean ± σ):     348.3 ms ±   2.8 ms    [User: 949.0 ms, System: 101.4 ms]
  Range (min … max):   344.0 ms … 355.3 ms    100 runs

# AFTER
Benchmark 1: build/linux-x86_64-server-release/images/jdk/bin/java -XX:CacheDataStore=app.cds -Xmx256m -Xms256m -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -cp JavacBenchApp.jar JavacBenchApp 50
  Time (mean ± σ):     312.2 ms ±   2.6 ms    [User: 577.8 ms, System: 95.4 ms]
  Range (min … max):   307.1 ms … 318.5 ms    100 runs

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

Commit messages:
 - Fix

Changes: https://git.openjdk.org/leyden/pull/17/files
  Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=17&range=00
  Stats: 6 lines in 1 file changed: 6 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/leyden/pull/17.diff
  Fetch: git fetch https://git.openjdk.org/leyden.git pull/17/head:pull/17

PR: https://git.openjdk.org/leyden/pull/17


More information about the leyden-dev mailing list