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