/Ot
标志(“喜欢快速代码”)和/O2
标志(“最大化速度”)有什么区别?
/Os
(与和同上/O1
。)
/Ot
标志(“喜欢快速代码”)和/O2
标志(“最大化速度”)有什么区别?
/Os
(与和同上/O1
。)
/O1 和 /O2 将多个选项捆绑在一起,旨在实现更大的目标。因此 /O1 做出了许多有利于大小的代码生成选择;/O2 做同样的事情并且有利于速度。
/O1 包括 /Os 以及其他选项。/O2 包括 /Ot 以及其他选项。/O1 和 /O2 都启用了一些优化。而且,根据程序的分页行为,/O1(大小)可能会导致比 /O2 更快的速度,如果分页代码在指令执行成本上支配您的性能。
VC++ 2010 中 /O1 和 /O2 影响的简短总结在这里
http://msdn.microsoft.com/en-us/library/8f8h5cxt.aspx
并包括其他版本 VC 的链接。
马丁
请参阅 MSDN 上的/O1、/O2(最小化大小、最大化速度)文章。
它指出这/O2
相当于:
/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
所以/O2
启用了所有可以做的事情,/Ot
还有更多。/O1
vs.也是一样/Os
,但这次是大小。
没有不同。/Ot
是/O2
优化的一部分。