iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 为什么我使用XCode的llvm和来自MacPorts的clang获得更快的二进制文件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我已经编写了一个基准测试方法来测试我的C程序(搜索游戏树),我注意到在XCode 4.0.2中使用“LLVM编译器2.0”选项进行编译比使用来自MacPorts的最新版clang. 如果我理解正确,我在两种情况下都使用了clang前端和llvm后端. Apple是否对其clang / llvm发行版进行了改进,以便为Mac OS生成更快的二进制文件?我找不到有关该项目的更多信息. 以下是我的程序为
我已经编写了一个基准测试方法来测试我的C程序(搜索游戏树),我注意到在XCode 4.0.2中使用“LLVM编译器2.0”选项进行编译比使用来自MacPorts的最新版clang.

如果我理解正确,我在两种情况下都使用了clang前端和llvm后端. Apple是否对其clang / llvm发行版进行了改进,以便为Mac OS生成更快的二进制文件我找不到有关该项目的更多信息.

以下是我的程序为各种编译器生成的基准测试,全部使用-O3优化(越高越好):

(XcodE) "gcc 4.2": 38.7
(XcodE) "llvm gcc 4.2": 51.2
(XcodE) "llvm compiler 2.0": 50.6
g++-mp-4.6: 43.4
clang++: 40.6

另外,如何使用来自终端的clang / llvm XCode进行编译?我找不到命令.

编辑:我输出的分数是“每秒数千个游戏”,这是通过足够长的程序运行计算出来的.分数在多次运行中非常一致,例如,最近的主要算法改进使我获得了1%-5%的加速.对于我的程序来说,加速40到50的速度提高了25%.

更新:我没有使用-flto从命令行调用clang.现在,当我从命令行将clang -O3 -flto与/ Developer /usr/bin/clang -O3 -flto进行比较时结果更接近,但Apple的速度仍然快6.5%.

现在如何为gcc启用链接时间优化?当我尝试g -flto时,我收到以下错误

cc1plus: error: LTO support has not been enabled in this configuration

@L_262_11@

Apple LLVM编译器应该在/ Developer /usr/bin/clang下可用.

我想不出为什么MacPorts clang会产生更慢代码的任何特殊原因……我会检查你是否通过了类似的命令行选项.如果您使用一个编译器生成32位代码,而使用另一个编译器生成64位代码,则会产生很大差异的一件事情.

@H_404_42@

大佬总结

以上是大佬教程为你收集整理的c – 为什么我使用XCode的llvm和来自MacPorts的clang获得更快的二进制文件?全部内容,希望文章能够帮你解决c – 为什么我使用XCode的llvm和来自MacPorts的clang获得更快的二进制文件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。