Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

iBug2

macrumors 601
Original poster
Jun 12, 2005
4,559
891
It seems like LLVM 3.4 has improved a lot on the performance of compiled binaries compared to 3.3. And Apple will be releasing XCode 5.1 soon, which will include LLVM 3.4 and they will be compiling 10.9.2 using 3.4. The same goes for iOS 7.1 as well. It seems like after 4 years, LLVM finally caught up with GCC and actually is performing even better than GCC on many compiles now.
 
It seems like LLVM 3.4 has improved a lot on the performance of compiled binaries compared to 3.3. And Apple will be releasing XCode 5.1 soon, which will include LLVM 3.4 and they will be compiling 10.9.2 using 3.4. The same goes for iOS 7.1 as well. It seems like after 4 years, LLVM finally caught up with GCC and actually is performing even better than GCC on many compiles now.

I'm slightly confused. If LLVM 3.4 requires being compiled on Xcode 5.1, wouldn't Apple have to already be compiling on 5.1 for 10.9.2 and 7.1 to have LLVM 3.4? My point being, I feel like it would be weird for Apple to start compiling 10.9.2 and 7.1 on a different version of Xcode halfway through development?
 
I think 10.9.2 is to far in the pipeline to use a different compiler.
 
I think 10.9.2 is to far in the pipeline to use a different compiler.

Well, Apple could have been compiling all the pre-release builds using the svn builds of LLVM 3.4 which have been available for some time. But the final 3.4 release came December 27th. And I don't think it makes much difference to switch compilers in the middle of a beta testing period.
 
Well, Apple could have been compiling all the pre-release builds using the svn builds of LLVM 3.4 which have been available for some time. But the final 3.4 release came December 27th. And I don't think it makes much difference to switch compilers in the middle of a beta testing period.
Actually it does. What if the new compiler introduces a behavior difference in the generated code? This could cause additional delays while Apple tracks down issues with code that wasn't modified.

Apple could start using the new compiler for say 10.9.3 but expect a slightly longer time between 10.9.2 and 10.9.3 if they do to allow for extended testing.
 
Actually it does. What if the new compiler introduces a behavior difference in the generated code? This could cause additional delays while Apple tracks down issues with code that wasn't modified.

Apple could start using the new compiler for say 10.9.3 but expect a slightly longer time between 10.9.2 and 10.9.3 if they do to allow for extended testing.

As far as I know, whatever Apple compiles, they do that with the "current" XCode. So if XCode 5.1 is released before 10.9.2, I can be almost sure that 10.9.2 will be compiled with LLVM 3.4.
 
As far as I know, whatever Apple compiles, they do that with the "current" XCode. So if XCode 5.1 is released before 10.9.2, I can be almost sure that 10.9.2 will be compiled with LLVM 3.4.
In that case expect that there may be a delay in 10.9.2 caused by changing the compiler.
 
I hope LLVM 3.4 is a huge improvement. I tried the Intel compiler and was unimpressed.
 
Try the PGO and the built-in data prefetch instructions!

Those are nice, but so many OSX programs are built with Objective-C, which the Intel compilers do not support. Also, Clang/LLVM is faster at building programs and isn't as picky (ICC crashed for me when I was using it to build Emacs and some X libraries).

It does give Motif programs nice performance, though. The Fortran compiler is also top-notch.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.