RFR: JDK-8055095: Improve "do nothing" incremental build performance after modularized source code integration
erik.joelsson at oracle.com
Wed Aug 20 12:08:04 UTC 2014
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
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
* 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
* 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.
More information about the build-dev