我正在研究Nehalam/westmere英特尔微架构CPU.我想为此架构优化我的代码.GCC是否有专门的编译标志或C函数可以帮助我提高代码的运行时性能?
我已经在使用-o3了.
Language of the Code - C
Platform - Linux
GCC Version - 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我有一些浮点比较,它们完成了一百多万次.
请假设代码已经过最佳优化.
Jen*_*edt 18
首先,如果您真的想从像这样的新处理器上获得优化,那么您应该安装最新版本的编译器.4.4几年前出现了,即使它似乎仍然存在,我怀疑新的优化代码是否已经向后推送.(当前版本是4.7)
Gcc有一个catch-all优化标志,通常应该生成针对编译体系结构优化的代码:-march=native.与-O3此一起应该是你需要的一切.
(对于本网站的未来问题,请使用完整的英语语法和标点符号.)
Ser*_*kov 16
警告:答案不正确.
您实际上可以自己分析所有已禁用和已启用的优化.在您的计算机上运行:
gcc -O3 -Q --help=optimizers | grep disabled
Run Code Online (Sandbox Code Playgroud)
然后阅读有关仍然禁用的标志,并可以根据 gcc文档影响性能.
你想要添加一个-march=...选项.本...应与什么是最接近你的CPU架构进行更换(有往往是微小的差别)描述的是i386/x86_64的选项GCC在这里.
我会使用core2因为corei7(你想要的那个)仅在GCC 4.6及更高版本中可用.请在此处查看GCC 4.6的拱门列表.