On Fri, Aug 2, 2013 at 3:38 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com>wrote:

> # Building faster
>>
>> One of our Q3 goals is to replace the "export tier" with something more
>> efficient. More on tiers at [1]. This should make builds faster,
>> especially on pymake. Just earlier this week we made WebIDL and XPIDL
>> code generation concurrent. Before, they executed serially, failing to
>> utilize multiple CPU cores. Next steps are XPIDL code gen, installing
>> headers, and preprocessing. This is all tracked in bug 892644.
>>
>
> Out of curiosity, why was the export tier the fist target for this?  I may
> lack context here, but the slowest tier that we have is the platform libs
> tier.  Wouldn't focusing on that have given us the biggest possible bang
> for the buck?


Tier is the wrong term here[0].  I think it would be more correct to say
that we're removing the "export phase".  Our build system currently visits
every[1] directory 3 times, once to build the 'export' target, once to
build the 'libs' target, and once to build the 'tools' target.  Tiers are
groupings of directories.  The build system guarantees that every directory
in a given tier has export, libs, and tools targets processed before doing
anything in the following tier.  The goal is to remove the export phase
across all tiers and replace it with a dedicated 'precompile' tier for the
things that need to be done before compiling C++/etc in the libs phase
(such as WebIDL/IPDL code generation, XPIDL header generation, putting
headers in dist/include, etc).

- Kyle

[0] at least in the sense that our build system has used it in the past.
[1] this isn't strictly true (e.g. TOOL_DIRS) but is close enough for the
purposes of this conversation.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to