RFR: JDK-8055095: Improve "do nothing" incremental build performance after modularized source code integration
Erik Joelsson
erik.joelsson at oracle.com
Wed Aug 20 12:08:04 UTC 2014
Hello,
Please review this fix which removes some inefficiencies in calculating
what needs to be built. All these fixes together result in about 20%
faster execution time on Windows when running make when there is nothing
to do.
Here is what was done:
* The java module dependency macro makes a shell call each time.
Calculate dependencies once and put them in a makefile that can just be
included. Moved this logic away from MakeBase since only a few makefiles
need this.
* LibCommon.gmk, which is included by each module Lib-*.gmk file is
running a FillCacheFind over all native source. This was moved to a more
specialized FillCacheFind for each module that actually needs it. Most
don't.
* GensrcProperties.gmk is running FillFindCache over all java source
files. It's actually better to just skip the cache here since there are
so few calls to CacheFind anyway.
* GensrcLocaleDataMetaInfo.gmk is running a find over all java src in
jdk, but the files it needs are either in java.base or jdk.localedata so
the find could be limited and much faster.
Bug: https://bugs.openjdk.java.net/browse/JDK-8055095
Webrevs: http://cr.openjdk.java.net/~erikj/8055095/
/Erik
More information about the build-dev
mailing list