RFR: JDK-8055095: Improve "do nothing" incremental build performance after modularized source code integration
Tim Bell
tim.bell at oracle.com
Wed Aug 20 15:32:43 UTC 2014
Hi Erik:
> 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
Looks good to me.
Tim
More information about the build-dev
mailing list