[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
this:
'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'.
Thoughts?
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
More information about the llvm-dev
mailing list