Build performance regressions

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Mar 17 14:10:21 UTC 2022


It was recently pointed out to me by Robbin Ehn that the build time for 
exploded-image has undergone a major regression over the last two years.

I have conducted a series of performance tests starting with jdk-15+24, 
and can confirm that sorry picture. :-( Despite certain individual gains 
in build performance, the overall time to build has gone from ~165 
seconds to ~225 seconds. (All times mentioned here is on my workstation, 
but it serves as a reference for other machines as well) This is an 
increase of about a minute, or to put it differently, about 35% of the 
original build time.

It turned out that almost all of these regressions are caused by four 
individual commits, which added 14, 24, 16 and 21 seconds, respectively, 
to the build time. (Most other changes do very little to affect the 
build time, in one way or the other. A few has reduced build time 
somewhat.) This sums up to 75 seconds, which means that without these 
regressions, we'd actually have seen a 15 second improvement in build time.

The culprits are:
* JDK-8246436: JFR: Avoid parsing metadata.xml during startup
* JDK-8247872: Upgrade HarfBuzz to the latest 2.7.2
* JDK-8278917: Use Prev Bitmap for recording evac failed objects
* JDK-8176706: Additional Date-Time Formats

I have opened JDK-8283322, JDK-8283323, JDK-8283188 and JDK-8283324 to 
track these four regressions.

I am also going to examine the possibility to track build time 
continuously in Oracle's CI system, to hopefully stay more aware if (or 
rather when...) regressions like these show up in the future.

/Magnus



More information about the build-dev mailing list