我有一个来 self 遇到的特定情况的一般性问题。
一般问题:在 MinGW 编译器下,什么决定了在 Windows 上用 C++ 编写的应用程序的运行时间(计算时间、执行时间)?
具体情况:我最近买了一台新电脑。在运行和测试我在旧机器上编写的相同程序时,我发现不仅没有加速,而且性能下降。两者都运行 Windows 7 操作系统。
较旧的工作站:i7-3770 Core 4 核处理器、8 GB RAM 和硬盘驱动器。
较新的设置:e5-2660 v3 Xeon 10 核处理器、32 GB 内存和硬盘。
没有完全加速可能是因为没有 SSD 内存类型,但这仍然不能解释为什么新计算机比旧计算机慢。我进行了 passmark 分数测试,在所有类别中,新计算机的性能都优于旧计算机。不过,我自己的 C++ 程序和一些第三方应用程序在新机器上运行速度都比较慢。怎么会这样?我应该检查一些特定的软件类型限制吗?
我也欢迎就性能主题提出任何建议,因为我计划运行计算密集型、多线程应用程序,因此性能是一个重要问题。
最佳答案
应用程序使用 cpu、内存和磁盘,所有这些都会影响应用程序的执行速度。
在您的情况下,您从具有 4 个快速内核的 4 核 CPU 更改为具有 10 个但速度较慢的内核的 10 核 CPU,从而有效地降低了每线程的执行速度。
取决于你做什么,例如如果计算/内存压力的比率朝向计算端,您会看到速度变慢。
关于C++ 应用程序执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30029431/