ios – LLVM,GCC 4.2和Apple LLVM编译器之间的区别3.1

LLVM GCC 4.2和Apple LLVM编译器3.1之间的主要区别是什么?

我对编译器来说相当新鲜,所以任何帮助都不胜感激.另外我特别感兴趣的是两个编译器如何影响游戏性能.

解决方法

区别是技术和速度的问题.

当Apple开始从GCC的编译器和工具链过渡时,CLANG仍然很年轻,越来越多,所以LLVM被建立为海湾合作委员会的后端,以促进其最终的更换.所以,代码进入并由GCC编译成一些中间形式,但是被发送到LLVM以提供最终的机器代码和封装.

最终,LLVM,特别是CLANG成熟到足以取代GCC,这提供了惊人的速度提升了编译和机器代码输出质量的一个突破(尽管许多人认为GCC仍然以牺牲速度生产更好的质量代码) .

但是要解决您对游戏性能的关注:CLANG可能会提供“更好”的编译体验,而不是编译器的性能.虽然优化和简化是编译过程的一部分,但人们仍然写入滞后游戏或产生浪费在堆栈中的无限循环的事实表明,性能是您的工作.编译器只能做很多,其余的取决于你.编译器的类型或供应商也不会造成或破坏您的游戏或影响帧速率或可用性.您应该阅读有关ARM体系结构的低级优化.关于NEONinstruments的几篇文章将比学习“优化编译器”更好.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...