bob*_*bob 20 compiler-construction iphone
我在这里问专家......
是否有人对哪些编译器最适合iPhone应用程序进行了一些性能测试?
既然我们可以选择:
我想知道3个中哪个提供最佳性能......
我自己做了一些快速测试,但没有发现太大的区别?
你使用的是哪个编译器?
Bra*_*son 11
如果您观看WWDC 2010会话视频 300(联盟的开发人员工具状态),您将看到Apple报告使用LLVM编译器构建的应用程序相对于GCC的性能显着提高(在某些情况下速度提高了60%).通过将Clang解析器与LLVM编译器一起使用,可以进行其他改进.观看会话312 - "LLVM编译器中的新功能"了解更多信息,以及WWDC 2009上的LLVM会话(如果有的话).
在我的一个应用程序中,我在非正式基准测试中看到了从GCC到LLVM 1.5的20%加速,但这不是一个严格的测试,所以请考虑只有轶事证据.
我的建议是使用Clang + LLVM(LLVM编译器1.5),如果你可以更快的构建时间,更高性能的应用程序,以及更好的编译器错误.如果您使用C++代码或Clang解析器目前无法处理的其他内容,请使用LLVM GCC仍然可以在编译的应用程序中获得性能优势.只有在出于某种原因失败时才转到GCC.这是一个简单的开关,可以在您的构建设置中点击,以便在最终应用程序中免费获得少量额外性能.
随附Xcode 4的LLVM Compiler 2.0完全支持C++,并承诺对编译应用程序进行额外的优化,以及更多的编译时加速.Xcode 4甚至使用Clang作为IDE中的语法高亮/代码校正引擎.很明显,Apple正朝着编译器前进的方向发展.
clang 1.5 的 C++ 前端并不是最好的,如果您必须处理任何 C++ 代码(包括 Objective-C++ 代码),我通常建议不要使用它。此外,我在使用 clang 时遇到了一些弱链接问题,所以对我来说,如果您必须处理上述两种情况中的任何一种,它还没有准备好用于生产。
也就是说,我没有注意到两者之间对性能有任何真正的影响,尽管 clang 的错误和警告比 gcc 的有用得多。
值得深思。