【发布时间】:2009-11-03 15:26:33
【问题描述】:
我有一个非常大的程序,我一直在 Visual Studio 下编译(v6 然后迁移到 2008)。我需要可执行文件尽可能快地运行。该程序将大部分时间用于处理各种大小的整数,并且只做很少的 IO。
显然我会选择最大优化,但似乎有很多事情可以做,这些事情不在优化的标题下,它们仍然会影响可执行文件的速度。例如选择 __fastcall 调用约定或将结构成员对齐设置为大数字。
所以我的问题是:我应该使用其他编译器/链接器选项来使程序更快,这些选项不受“属性”对话框的“优化”页面的控制。
编辑:我已经广泛使用分析器。
【问题讨论】:
-
您尝试过其他编译器吗?我听说英特尔 C++ 编译器有时会生成更快的代码。也许值得一试。
-
我确实在大约一年前尝试过 intel 编译器,它生成的代码与 microsoft 的速度差不多……虽然我可能不知道如何设置所有最大速度的选项。如果我听到很多关于它明显更快的报告,或者有人说“你用标志 X 尝试过吗?这使它运行得更快”或类似的东西,我会再试一次。
-
在特定的 cpu/平台上是否需要更快?还是尽可能快地跨多个平台(同时接受总有权衡取舍)?
-
它是一种商业产品,平均可以在高端家用 PC 上运行。
标签: c++ windows visual-studio-2008 optimization