discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Only build llvm backend parts needed for GNUstep


From: David Chisnall
Subject: Re: Only build llvm backend parts needed for GNUstep
Date: Mon, 14 Dec 2015 11:10:10 +0000

On 14 Dec 2015, at 04:54, Patryk Laurent <plaurent@me.com> wrote:
> 
> On Dec 13, 2015, at 08:42 PM, Patryk Laurent <plaurent@me.com> wrote:
>> On Dec 13, 2015, at 12:25 PM, David Chisnall <theraven@sucs.org> wrote:
>>> 20GB sounds very big. Debug builds are quite large, but release builds are 
>>> a lot smaller. The back ends only add a couple of MBs, so it’s not worth 
>>> removing them.
>>> 
>>> David
>> 
>> Hmmm... is the default to do a debug build?  I simply checked out llvm and 
>> build using the following steps:
> 
> Ah, yes, I see from the first line of cmake's output that it defaults to a 
> Debug build.  I will try doing a release build, hopefully it'll take much 
> less space.

A Release build will use <1GB (around 600MB for me, but it varies a bit).  C++ 
generates a huge amount of stuff in every compilation unit that the linker then 
deduplicates.  For a release build this is quite noticeable, but in a debug 
build this duplication also includes the debug info.  The final binary includes 
several hundred MBs of debug info.

If you’re going to be rebuilding frequently, then I’d recommend using ninja, 
rather than make, for the builds (-G Ninja on the cmake line).  If it’s still 
too big, then try running ccmake . in the build directory and see what you can 
turn off.  The back ends will save a little bit, though not much.  If you’re 
not going to use the ARC migration tool, then you can disable the clang 
rewriter.

David




-- Sent from my brain




reply via email to

[Prev in Thread] Current Thread [Next in Thread]