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