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

Reply via email to