On 9/28/2012 12:58 PM, Mike Hommey wrote:
On Fri, Sep 28, 2012 at 06:45:24AM -0400, Benoit Jacob wrote:
2012/9/28 Aryeh Gregor <a...@aryeh.name>:
On Thu, Sep 27, 2012 at 6:08 PM, Gregory Szorc <g...@mozilla.com> wrote:
I actually held out on you with the initial landing of mach: there is more
advanced tree building code in the pipes, complete with progress indicators.
However, getting it reviewed is a challenge because we want the build system
integration to be right. When that lands, mach will be smart enough to
automatically define make flags optimal for your machine. e.g. -j == # of
cores. So, you get optimal/parallel builds with no configuration necessary.
This will all be configurable, of course.
Is -j equal to number of cores really optimal? I've always been told
that it's better to set it to more like twice the number of cores,
because some fraction of threads will normally be stalled on I/O and
you don't want cores idle.
Depending on various factors, this can be offset by other factors like
cores competing for limited resources such as CPU cache. On my core i7
with 8 logical cores and 8M cache and a SSD, -j8 is fastest. More
generally while building a C++ project (C++ is computationally
expensive to compile) you're not very likely to be IO bound,
especially with a SSD. A C project might be different.
On my core i7, -j12 is fastest. bigger values are marginally slower
but they are all faster than -j8.
Mike
Win7 x64 / i7@3.9GHz / 8 cores / 12GB@1600MHz / SSD mirrored, warm
clobbered build of debug desktop browser:
-j12: 19m00s exactly
-j9: 18m45s exactly
Using more processes then cores is counter productive. I checked this 2
years ago already when build took just 13 minutes (we grow!!).
-hb-
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform