[cfe-dev] Clang versus GCC speed

David Chisnall csdavec at swan.ac.uk
Fri Nov 20 13:04:53 PST 2009


On 20 Nov 2009, at 18:55, Douglas Gregor wrote:

> On Nov 20, 2009, at 10:36 AM, David Chisnall wrote:
>> I just did some tests with Objective-C programs and found
>> clang much slower than GCC 4.2, with an optimized build of LLVM and
>> Clang and a stock build of GCC.
>
>
> This isn't what we're seeing. We're seeing Clang being consistently  
> faster than GCC 4.2.
>
> Are you certain that you built LLVM and Clang in Release-Asserts?  
> Debug builds are horribly slow, and Release builds are still a bit  
> slower than Release-Asserts builds.

I was using the wrong binary.  Running the tests again, there's about  
a 10% variation in speeds each time I run clang and gcc, but they both  
end up being approximately the same speed.  Using -fsyntax-only on  
GNUstep's Cocoa.h takes slightly longer with clang than GCC on  
average, although the fastest result for clang is slightly better than  
the slowest result for gcc.

Are your tests relative to Apple's GCC?  It's a lot slower than FSF  
GCC for Objective-C, at least - not sure why, but FSF GCC can usually  
compile a couple of files before Apple GCC reports the first warning  
in one.

With a Release-Asserts build, clang is very slightly slower than the  
GCC 4.2.1 build included with the FreeBSD 8 base system for Objective- 
C (although it does produce warnings that GCC doesn't produce and  
supports a few more language features).

I took the preprocessed Cocoa.h from GNUstep to a Mac and ran clang  
and gcc -fsyntax-only and, indeed Apple's GCC takes a bit more than  
twice as long to run.  The same file on FreeBSD takes about the same  
time between FSF GCC and Clang (Release-Asserts build).  I'm not sure  
if this is just an Objective-C thing, or if Apple's GCC is much slower  
for C too.

David

-- Sent from my Difference Engine



More information about the cfe-dev mailing list