我的C++编译器是否优化了我的代码?

And*_*w T 6 c++ compiler-construction optimization compiler-optimization

在使用现代C++编译器(包括MSVC,GCC,ICC)时,我怎么说它是否具有:

  1. 并行化代码
  2. 矢量化循环(或使用其他特定的处理器指令)
  3. 展开循环
  4. 检测到尾递归
  5. 执行RVO(返回值优化)
  6. 或以其他方式优化

没有深入编译器产生的汇编代码?

pax*_*blo 18

您可以真正判断的唯一方法是检查汇编器输出(您似乎已打折).除此之外,您可以阅读doco以了解编译器的每个级别提供的优化类型.

但是,老实说,如果你不相信你的编译器的优化级别正在完成工作,你可能不会相信doco :-)

我自己会看看汇编程序,这是你真正确定的唯一方法.