> Currently incremental builds for the microbenchmarks may take notable amount > of time, like: > > $ touch test/micro/org/openjdk/bench/java/io/BlackholedOutputStream.java; > time make test TEST=jaxp:tier1 > Building target 'test' in configuration 'linux-x86_64-server-release' > Compiling up to 656 files for BUILD_JDK_MICROBENCHMARK > Running Indify on microbenchmark classes > [snip] > ============================== > Test summary > ============================== > TEST TOTAL PASS FAIL ERROR > jtreg:test/jaxp:tier1 0 0 0 0 > ============================== > TEST SUCCESS > > Finished building target 'test' in configuration 'linux-x86_64-server-release' > > real 0m37,581s > user 2m4,747s > sys 0m7,223s > > > The microbenchmark compilation is not using the `Depend` plugin that avoids > recompilation of other files if the change files only contain minor changes > (i.e. non-API changes). The patch here proposes to enhance the build to use > the `Depend` plugin. The change that enables that is `CREATE_API_DIGEST := > true,`, but since both the `Depend` plugin and JMH framework needs to be > added to the classpath the patch re-organizes the code a little to properly > augment the classpath. > > With this patch, a build similar to the above might be: > > $ touch test/micro/org/openjdk/bench/java/io/BlackholedOutputStream.java; > time make test TEST=jaxp:tier1 > Building target 'test' in configuration 'linux-x86_64-server-release' > Compiling up to 656 files for BUILD_JDK_MICROBENCHMARK > Running Indify on microbenchmark classes > [snip] > ============================== > Test summary > ============================== > TEST TOTAL PASS FAIL ERROR > jtreg:test/jaxp:tier1 0 0 0 0 > ============================== > TEST SUCCESS > > Finished building target 'test' in configuration 'linux-x86_64-server-release' > > real 0m7,505s > user 0m14,128s > sys 0m3,158s
Jan Lahoda has updated the pull request incrementally with one additional commit since the last revision: Reflecting review feedback. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/20616/files - new: https://git.openjdk.org/jdk/pull/20616/files/f21c2b76..7eefc210 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=20616&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20616&range=01-02 Stats: 5 lines in 2 files changed: 3 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/20616.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20616/head:pull/20616 PR: https://git.openjdk.org/jdk/pull/20616