[LLVMdev] PR723: Default To Optimized Build

Chris Lattner sabre at nondot.org
Mon Mar 27 11:09:55 PST 2006

On Mon, 27 Mar 2006, Andrew Lenharth wrote:
>> Another option is to build an optimized build with assertions on.  Do to
>> local demand, I added a build option 'make ENABLE_OPTIMIZED=1
>> ENABLE_ASSERTIONS=1' that provides this.
> How does this compare size and performance wise with a debug build or a
> release build?

I haven't done any scientific measurements.  Here is some educated 
guessing :)

I know that a debug build is about 10x bigger and 10x slower than a 
release build.  Linking also takes about 10x as long with a debug build 
than it does for a release build.

With assertions on, linking takes virtually the same time as a release 
build, I would expect it to also be about the same speed as a release 
build: a WAG would be within 10%.

For the people that requested the optimized+assertions build, the big 
issue was link-time.  Having a huge link time significantly impacted their 
productivity and they happened to not care about performance for most 
development.  OTOH, not getting assertions was preventing them from 
finding bugs.

The more I think about it, the more I like a configuration that looks like 

'llvm --enable-optimized' should always build a release build.

LLVM from CVS should always default to a debug build.

LLVM releases should default to 'release + assertions'.




More information about the llvm-dev mailing list