On 9/20/2013 4:47 PM, Nicholas Nethercote wrote: > On Fri, Sep 20, 2013 at 11:24 PM, Mike Hommey <m...@glandium.org> wrote: >> >> Try an incremental build, too :) > > Some fresh results, with a |--enable-test --enable-debug > --enable-optimize='-O0'| build. (And I forgot to mention that I'm > using clang). > > - Clobber build: 12m54s --> 11m16s (1.14x faster) > > - Touch-jsapi.h-and-rebuild: 5m52s --> 5m16s (1.11x faster) > > - No-change-rebuild: 29s --> 23s (1.26x faster)
I'm actually suprised your clobber builds improved that much: clobber builds are mostly CPU bound today, with the majority of the CPU cycles going to C++ compilation. Perhaps it's a recent regression from ICU's suboptimal building? Anyway, I wanted to reiterate that from the perspective of the build system, our hands are mostly tied when it comes to making C++ compilation faster. We can deliver precompiled headers and better support for using "unified" C++ sources, but that's about it. Faster C++ compilation is mostly in the hands of the people who write and maintain the C++. The effort to reduce header dependency hell *is* paying off. Once that winds down, we may want to spin up an effort to "profile" the compiler to find exactly why our C++ compiles so slowly. It certainly feels slower than other large C++ projects, such as LLVM/Clang. I'm also surprised your no-change rebuild was 29s before this patch. I'm still hovering around ~60s on my i7-2600K under Linux and on my 2011 MBP pre-patch. This patch descreased my no-op times to ~40s. Perhaps it's time for me to upgrade to a Haswell. _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform