c++ - 关于应用程序速度,最好的 C++ 编译器和 Windows 构建选项?

标签 c++ optimization compiler-construction

我正在为 Windows、Mac 和 GNU 制作游戏,我可以使用 MSVC 和 MingW 在 Windows 上构建它...

但我没有找到有关编译器优化程度的良好信息。

那么我可以使用什么编译器以及该编译器上的选项来使我的 Windows 版本速度极快?

目前,分析器显示了一些令人担忧的结果,例如大部分 CPU 时间被浪费在简单的 float 学上,以及浪费在 lua 垃圾收集器上。

编辑:我也在做其他事情...我专门问这个关于编译器的问题,因为这个问题应该是一件事,而不是几件事:)

此外,任何微小的速度改进都是好的,特别是在打开垂直同步的情况下,60 FPS 时每秒下降 1 帧足以使游戏以 30 FPS 运行以保持同步。

最佳答案

首先,不要指望编译器优化会产生巨大的差异。您很少会期望编译器之间的差异超过 15% 或可能20%(只要您不尝试将所有优化都打开的编译器与完全禁用优化的编译器进行比较)。

也就是说,最好的(尤其是 F.P. 数学)往往是英特尔的。这几乎是其他人(充其量)试图达到的标准(通常,说实话,这种尝试会失败)。获得最佳性能的确切选项各不相同 - 如果有一组始终是最佳的,它们可能不会包括其他可能性。

但是,我要强调的是,为了获得真正实质性的差异,您可能需要重写一些代码,而不仅仅是重新编译。

关于c++ - 关于应用程序速度,最好的 C++ 编译器和 Windows 构建选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3643441/

相关文章:

c - 使用优化 (GCC) 时,“while”语句的工作方式不同

mysql - 插入数据库的查询优化

c++ - 程序按预期工作,直到我向它添加析构函数

c++ - 低内存的内存管理 : finding and tracking duplicates of random function return values

c++ - 在参数列表中使用std::enable_if

c++ - 如何在 Win7(x64) 上使用 intel C++ 编译器 (x86) 将 Mathematica 编译成 C 代码?

C# 功能请求 : implement interfaces on anonymous types

c# - 如何从 LambdaExpressions 创建的 MethodBuilders 创建可相互调用的 MethodInfos?

c++ - C++ 中的媒体基础 API 和 ID3 标签

c++ - 升压::变体;定义访客类别