我有一个非常大的程序,我一直在 Visual Studio 下编译(v6 然后迁移到 2008)。我需要可执行文件尽可能快地运行。该程序大部分时间都花在处理各种大小的整数上,并且执行很少的 IO。
显然,我会选择最大优化,但似乎可以做很多不属于优化标题的事情,但它们仍然会影响可执行文件的速度。例如,选择 __fastcall 调用约定或将结构成员对齐设置为较大的数字。
所以我的问题是:我是否应该使用其他编译器/链接器选项来使程序更快,而这些选项不受“属性”对话框的“优化”页面控制。
编辑:我已经广泛使用分析器。
另一个需要考虑的优化选项是优化尺寸。有时,由于更好的缓存局部性,大小优化的代码可以比速度优化的代码运行得更快。
此外,除了优化操作之外,还可以在分析器下运行代码并查看瓶颈在哪里。花时间使用一个好的分析器可以在性能方面获得重大收益(特别是如果它提供有关代码的缓存友好性的反馈)。
最终,您可能永远不会知道什么是“尽可能快”。您最终需要满足于“这对于我们的目的来说已经足够快了”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)