On Sat, Aug 3, 2013 at 5:47 PM, Mike Hommey <m...@glandium.org> wrote:
>>
>> If I could speed up any part of the builds, it would be linking.
>> Waiting a long time to test a one file change sucks.
>
> If you're on linux, you can try --enable-debug-symbols=-gsplit-dwarf.

That worked nicely.  Before I get there, some measurements...

I did some opt builds of the JS shell, configuring like this:

  CC='clang' CXX='clang++' ../configure --disable-debug --enable-optimize

Here are some of the steps that happen after the last .cpp file is compiled:

- Use |ar| to create libjs_static.a, which is 369 MB.

- Run |ranlib libjs_static.a|.

- Link libmozjs-25.0a.so, which is 102 MB.

- Link |js|, i.e. the actual shell, which is 100 MB.

- Link jsapi-tests/jsapi-tests, which is 113 MB.

- Link gdb/tests, which is 98 MB.

All this takes about 21 seconds, which isn't surprising given the size
of those files.

I tried --enable-debug-symbols=-gsplit-dwarf in a debug build like this:

  CC='clang' CXX='clang++' ../configure --enable-debug
--enable-debug-symbols=-gsplit-dwarf --enable-optimize='-O0'
--enable-valgrind

and it reduced the time from ~25 seconds to ~9 seconds.  The ~100 MB
files shrunk down to ~32 MB.  Cool!

Now, if only I could reduce opt link times similarly, that would be
great.  Also, I wonder if I can stop jsapi-tests and gdb-tests from
building...

Nick
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to