O2优化普及
O2优化实质上是“优化”,其中的“2”代表优化级别。除了O2优化,还有O3优化,这属于更高层次的优化;此外,还有Ofast、Os等多种优化级别。对于某些算法题目,采用暴力算法结合O2优化可以顺利通过;然而,需留意并非所有O2优化都是正向优化,部分可能是逆向优化。
然而,在实际应用中,在STL编译时开启优化后,其速度与数组模拟的队列相差无几。
在算法竞赛中,主办方通常不会启用O2优化,这种情况下,STL的栈队列速度比数组模拟的栈队列慢约一倍。
O2优化的相关知识依然至关重要!!!
Visual C++的优化选项具体含义
Od:编译器不进行优化,通常用于调试,该编译选项经常被使用。
O1:生成代码体积最小,采用此选项编译的二进制文件体积最小,但可能牺牲一定的执行效率。
O2:生成的代码执行速度最快,但体积会比O1大(release模式默认设置)。
Ox:对程序进行最大优化,可能会牺牲一些兼容性问题等,尽可能在执行速度和二进制文件体积上实现优化。