Visual Studio 2010-最适合优化的大小或速度
Visual Studio 2010 - Favour Size or Speed for optimization
我看到了选项C/C++->常规->收藏夹大小或速度。我想知道我是否选择了"速度"选项而不是"大小"。除了尺寸,他们还会有什么缺点吗。默认情况下两者都不是。如果我选择Favor Fast Code /Ot
虽然我对这个编译器设置一无所知(我通常喜欢快速代码,从未想过),但我可以看到这可能会影响什么:
在某些处理器上,在特定时间执行某些操作可能会导致暂停。例如,在写入完整寄存器(AL
)的一部分后立即访问它(RAX
)。虽然现代处理器通常可以通过重新排序指令来解决这些停滞问题,但有时它们仍然不可避免。
我怀疑通过这种设置,编译器有时可能会插入无操作指令,以试图防止这些暂停的发生。一般来说,执行一些无操作仍然比拖延更快。
显然,这些无操作会使您的代码变得更大,这可能会导致更多的指令缓存获取(这可能会严重影响非常紧密的内部循环的性能,但这些操作一开始就更有可能停滞),但不应该有任何其他不利影响。
我能为任何有类似问题的人提供的最好建议是尝试不同的设置,并通过探查器运行代码,看看你是否得到了明显不同的结果。
1.如果你想优化代码,请使用relase build。如果你使用的是release build,则默认情况下会启用"最大速度(/O2)"选项,这相当于"最喜欢的快速代码(/Ot)"2.现在,如果您将"支持大小"或"速度"选项更改为支持小代码(/Os)(默认为"两者都不支持"),您可能会看到可执行文件的大小发生剧烈变化。
这可能会有所帮助https://msdn.microsoft.com/en-us/library/8f8h5cxt(v=vs.90).aspx
相关文章:
- 解析参数后内联以优化算法速度
- 需要帮助优化C++中循环/点积函数的速度
- 编译器优化如何影响数据加载速度
- 优化.txt文件的创建速度
- 优化一个简单的方程式,用于C 中的执行速度
- 叮当 OSX 行军 = 原生 大约 1/3 速度没有优化
- 如何优化此数学操作以换取速度
- 当局部变量被复制到全局变量时,C++GCC优化速度会减慢
- STL算法是否针对速度进行了优化
- 优化最近邻居大小调整算法以提高速度
- C++正则表达式速度优化
- c++ 与 MATLAB 针对速度的优化.例如,我的 matlab 代码运行速度比 c++ 快
- 如何使用android ndk(速度优化)优化本地代码
- 可能的代码速度优化
- Visual Studio 2010-最适合优化的大小或速度
- 整数三角函数的c++库,速度优化与可选的近似
- c++(哈希)映射速度优化
- 在不同优化级别访问gcc/g++中的局部变量与全局变量的速度
- 如何优化交易算法以获得最有效的速度
- 如何优化 3D 复杂阵列的"for 循环"<double>以提高C++速度