Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8055095

Improve "do nothing" incremental build performance after modularized source code integration

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • infrastructure
    • b28
    • 9
    • b29

        This mostly applies to Windows/Cygwin where running make is markedly slower. I have identified a couple of inefficiencies that I would like to fix.

        * The java module dependency macro makes a shell call each time. The dependencies should ideally be processed once and put in a makefile that can just be included. This will also better mimic the future where these dependencies need to be parsed from module-info.java files.
        * LibCommon.gmk, which is included by each module Lib-*.gmk file is running a FillCacheFind over all native source. This should be 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. All those calls might even be possible to convert into wildcard.
        * 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.

        With these modifications, a rebuild of the default top target on two different windows machines decreased as such:
        16 -> 12 seconds
        7-8 -> 5-6 seconds

              erikj Erik Joelsson
              erikj Erik Joelsson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: