Looks good to me. 

/Magnus

> 13 jan. 2016 kl. 14:44 skrev Erik Joelsson <erik.joels...@oracle.com>:
> 
> Hello,
> 
> New webrev: http://cr.openjdk.java.net/~erikj/8146403/webrev.02/
> 
> Fixed the below comments. Also adjusted some more gensrc log output to make 
> it more uniform, even if it doesn't exactly address Windows performance.
> 
> I also fixed a bug in the bootstrap make logic. The module-deps.gmk wasn't 
> correctly generated in all cases. Typically when building more than one conf 
> at a time or when doing a compare build. I added explicit calls to 
> GenerateModuleDeps.gmk to fix this.
> 
> /Erik
> 
>> On 2016-01-13 12:48, Magnus Ihse Bursie wrote:
>> Hi,
>> 
>> In InitSupport.gmk, please restore the comment:
>> # Only do this if make has not been restarted, and if we do not force it.
>> 
>> In jdk/make/gensrc/GensrcExceptions.gmk:
>> The old construct resulted in the output "Generating exceptions classes" 
>> (but a bit irregularly), could you please re-add it as a LogInfo?
>> 
>> In make/CompileTools.gmk, the copyright header says 2014, which is at least 
>> one year too early. :-) (In fact, all modified files should really get 
>> bumped to 2016).
>> 
>> Apart from this, it looks good to me.
>> 
>> /Magnus
>> 
>>> On 2016-01-05 11:58, Erik Joelsson wrote:
>>> Hello,
>>> 
>>> During the hotspot makefile conversion, we have been reminded of 
>>> inefficiencies when running make in Cygwin. We still have a pretty severe 
>>> performance regression in the new hotspot build compared to the old on 
>>> Windows in certain situations, my laptop being one such situation. A recent 
>>> comparison there between just the old and new hotspot build:
>>> 
>>> release new 00:04:30
>>> release old 00:03:10
>>> fastdebug new 00:04:59
>>> fastdebug old 00:03:37
>>> 
>>> Much of the extra time is spent spawning various shell processes for book 
>>> keeping, like saving failure logs, creating header dependency files etc.
>>> 
>>> It also takes a very long time to do a "do nothing" rebuild when nothing 
>>> has changed. On my laptop, repeating "make jimages" often takes as long as 
>>> 40 seconds to figure out that nothing needs to be rebuilt. In this case 
>>> there are several culprits.
>>> 
>>> I have been working on improvements in these areas to reduce the overhead. 
>>> The "do nothing" rebuild of jimages is down to around 25 seconds. A full 
>>> images build is around 1-2 minutes faster from 24 to 22 minutes, but 
>>> fluctuates quite a bit. The new hotspot build is also improved:
>>> 
>>> release: 3:44
>>> fastdebug: 4:02
>>> 
>>> Here is a list of the kinds of changes I've made:
>>> 
>>> * Rewrote logger.sh to use a different construct. It drastically reduces 
>>> the number of bash processes being spawned. Basically you can pipe like 
>>> this: "> >(tee logfile) 2> >(tee logfile >&2)". I also managed to reduce 
>>> the extra sed/grep commands needed for the header dependencies even more. A 
>>> side effect of this is that the log files for each native compilation unit 
>>> are always saved instead of being deleted on successful compilation. I see 
>>> no issue with this.
>>> 
>>> * Changed all recipes that contain echo for logging to instead use new 
>>> LogInfo macro, which in turn calls $(info ) if appropriate.
>>> 
>>> * Changed all recipes that contain mkdir to instead use MakeDir macro, 
>>> which only executes mkdir if the directory doesn't exist.
>>> 
>>> * In HotspotWrapper.gmk there is an optimization to avoid calling the 
>>> hotspot makefiles at all if nothing has changed. This runs a find over the 
>>> whole hotspot repository. I reduced this to only run over src and make sub 
>>> dirs to avoid the pretty large test dir (since test/closed has grown quite 
>>> a bit).
>>> 
>>> * Split Tools.gmk into CompileTools.gmk and Tools.gmk, to avoid having the 
>>> buildtools compilation being reevaluated by all makefiles needing the tools 
>>> definitions.
>>> 
>>> * Split Modules.gmk to avoid having the module deps generation being 
>>> reevaluated multiple times. Made the new GenerateModuleDeps.gmk an explicit 
>>> call from Init.gmk.
>>> 
>>> Since these improvements affect much more than just the new hotspot build, 
>>> I intend to push this to JDK 9 directly.
>>> 
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8146403
>>> Webrev: http://cr.openjdk.java.net/~erikj/8146403/webrev.01/
>>> 
>>> /Erik
>> 
> 

Reply via email to