Visual Studio 2010-最适合优化的大小或速度

Visual Studio 2010 - Favour Size or Speed for optimization

本文关键字:速度 优化 Studio 2010- Visual      更新时间:2023-10-16

我看到了选项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