对C ++优化编译器有一个很好的测试吗?

时间:2011-09-12 10:33:07

标签: c++ visual-c++ optimization code-generation compiler-optimization

我正在评估基于简单代码示例的Visual C ++ 10优化编译器,所以看看机器代码发出了多少,到目前为止我还没有创造性的用例。

是否有一些示例代码库通常用于评估优化C ++编译器的优秀程度?

4 个答案:

答案 0 :(得分:3)

唯一有效的基准是模拟您正在开发的代码类型的基准。优化器对不同的应用程序和不同的编码样式的反应不同,唯一真正重要的是您将要使用编译器编译的代码。

答案 1 :(得分:2)

尝试将此类库标记为Eigen(http://eigen.tuxfamily.org/index.php?title=Main_Page)。

答案 2 :(得分:1)

相当多的基准测试使用scimark:http://math.nist.gov/scimark2/download_c.html但是,你应该选择你测试的东西(单独测试),因为一些基准测试可能会由于环路展开不良而失败,但其余的代码非常好,但是其他一些事情做得更好只会导致循环展开(即其生成的代码的其余部分低于标准)

答案 3 :(得分:1)

如前所述,在典型的目标环境中,您确实需要针对自己的应用程序在典型用例的上下文中测量优化。由于这个原因,我在我自己的自动回归套件中包含了计时器,并且发现了previous question FWIW中记录的一些非常不寻常的结果,我发现VS2010 SP1创建的代码平均比我的VS2008快8%。自己的应用程序,大约13%的整个程序优化。这不是在用例中均匀分布的。我也倾向于看到长测试运行之间存在显着差异,这些测试运行不是很明显,可以分析更小的测试用例。我还没有进行平台比较,例如是许多获得平台或硬件特定的。

我认为许多优化器都会经过精心调整,以便针对众所周知的基准测试套件提供最佳结果,这可能意味着这些不是测试优化优势的最佳代码片段。 (推测当然)

相关问题