英特尔编译器在VS 10(C ++)上的最大运行时速度

时间:2012-01-25 16:33:06

标签: c++ performance optimization intel

我正在尝试优化我的代码,以便在运行时尽可能快地运行。我通过切换几个优化选项来比较VS和Intel,但我没有注意到显着的差异。但是,由于我的处理器是英特尔,它应该更快。您建议哪些优化开关可以最大限度地提高速度?

3 个答案:

答案 0 :(得分:5)

编译器的重点略有不同。

Microsoft传统上以Windows操作系统和SQL Server等代码为目标(惊喜)。该代码包含许多整数类型代码,而不是很多繁重的循环。他们的编译器为这种应用程序生成了很好的代码。

英特尔专注于更多计算密集型应用程序,其中包含更多浮点计算和可能受益于积极循环展开的代码。

与您一样,我注意到我的代码经过良好的MS编译器调整后无法通过英特尔编译器重新编译。

答案 1 :(得分:2)

  

但是,由于我的处理器是英特尔,它应该更快

否 - 英特尔的CPU规格,微代码和编程手册可供任何编译器编写者使用。英特尔没有特别的优势

优化只能克服设计不良的代码。两个编译器可能都在进行相同的优化。

编辑:
自从我在HPC工作了10年,但当时英特尔和PCG编译器击败其他所有人,GCC非常好,MSVC非常糟糕。从那时起,英特尔不再是最终产品构建的默认编译器,GCC通常首先实现了最先进的整个程序优化技术,但MSFT的编译器已经超越了所有认可。一个原因是MSFT现在使用自己的编译器进行内部构建。

答案 2 :(得分:0)

很难为这个问题提供一刀切的答案。但是,如果您可以合理地测试真实场景,那么使用profile guided optimization可能有所帮助。它可以为特定的测试运行提供反馈。