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