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

Reply via email to