I think that in order to fix the memory usage issues, we may need to adjust the number of unified sources at a per-directory level. For example, I would expect the compiler to consume more memory compiling more C++ feature heavy code such as the typical JS engine source code than the average Gecko code. Therefore I'm more interested to see people file bugs about specific memory usage problems that we can address on a more granular level. I don't think that decreasing this number across the tree will buy us anything significant.

Cheers,
Ehsan

On 12/2/2013, 11:39 PM, Mike Hommey wrote:
Hi,

It was already mentioned that unified builds might be causing memory
issues. Since the number of unified sources (16) was decided more or
less arbitrarily (in fact, it's just using whatever was used for
ipdl/webidl builds, which, in turn just used whatever seemed a good
tradeoff between clobber build and incremental build with a single .cpp
changing), it would be good to make an informed decision about the
number of unified sources.

So, now that mozilla-inbound (finally) builds with different numbers of
unified sources (after fixing bugs 944844 and 945563, but how long
before another problem slips in?[1]), I got some build time numbers on my
machine (linux, old i7, 16GB RAM) to give some perspective:

Current setup (16):
   real    11m7.986s
   user    63m48.075s
   sys     3m24.677s
   Size of the objdir: 3.4GiB
   Size of libxul.so: 455MB

12 unified sources (requires additional patches for yet-to-be-filed bugs
(yes, plural)):
   real  11m18.572s
   user  65m24.145s
   sys   3m28.113s
   Size of the objdir: 3.5GiB
   Size of libxul.so: 464MB

8 unified sources:
   real    11m47.825s
   user    68m21.888s
   sys     3m39.406s
   Size of the objdir: 3.6GiB
   Size of libxul.so: 476MB

4 unified sources:
   real  12m52.630s
   user  76m41.208s
   sys   4m2.783s
   Size of the objdir: 3.9GiB
   Size of libxul.so: 509MB

2 unified sources:
   real  14m59.050s
   user  90m44.928s
   sys   4m45.418s
   Size of the objdir: 4.3GiB
   Size of libxul.so: 561MB

disabled unified sources:
   real  18m1.001s
   user  113m0.524s
   sys   5m57.970s
   Size of the objdir: 4.9GiB
   Size of libxul.so: 628MB

Mike

1. By the way, those type of bugs that show up at different number of
unified sources are existing type of problems waiting to arise when we
add source files, and running non-unified builds doesn't catch them.
_______________________________________________
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

Reply via email to