C ++应用程序的性能时间

时间:2015-05-04 11:50:36

标签: c++ performance

我有一个普遍的问题来自我遇到的特定情况。

一般性问题:什么决定了在MinGW编译器下用C ++编写的应用程序的运行时间(计算时间,执行时间)?

具体情况:我最近买了一台新电脑。在运行和测试我在旧机器上编写的相同程序时,我不仅看到了加速,而且还降低了性能。两者都运行Windows 7操作系统。

旧工作站:i7-3770 Core 4核处理器,8 GB RAM和硬盘驱动器。

更新的设置:e5-2660 v3 Xeon 10核处理器,32 GB RAM和硬盘。

没有完全加速可能是因为没有SSD内存类型,但仍然无法解释为什么新计算机比旧计算机慢。我运行了passmark评分测试,并且在所有类别中,新计算机都优于旧计算机。尽管如此,我自己的C ++程序和几个第三方应用程序在新机器上的运行速度都比较慢。怎么会这样?我应该检查一些特定的软件类型限制吗?

我也欢迎任何有关性能主题的建议,因为我计划运行计算密集型多线程应用程序,因此性能是一个重要问题。

2 个答案:

答案 0 :(得分:1)

当应用程序使用cpu,内存和磁盘时,所有这些都会影响应用程序的执行速度。

在您的情况下,您从具有4个快速内核的4核cpu更改为具有10个但核心速度较慢的10核cpu,从而有效地降低了每线程执行速度。

取决于您的操作,例如如果计算/记忆压力的比率朝向计算侧,则您会看到减速。

答案 1 :(得分:0)

更新:我首先发现了错误的Xeon规范。 V3具有更快的turbo频率,但可持续频率仅为2.6 GHz。

来自http://ark.intel.com/products/81706/Intel-Xeon-Processor-E5-2660-v3-25M-Cache-2_60-GHz的Xeon信息:

  

处理器基本频率 2.6 GHz

     

Max Turbo Frequency 3.3 GHz

来自http://ark.intel.com/products/65719/Intel-Core-i7-3770-Processor-8M-Cache-up-to-3_90-GHz的<7> I7信息:

  

基频 3.4 GHz

     

Max Turbo Frequency 3.9 GHz

虽然高速缓存大小和其他差异可能在指令/时钟周期中有利于Xeon,但我认为I7时钟快30%将难以击败。对于4线程或更少线程的程序,不会对CPU时间产生太大的竞争,那就是: - )。