Rom*_*udl 13 c++ windows performance
虽然这些天做了大量的基准测试,但我偶然发现了一些非常令人不安/有趣/新的东西.经过一些研究越来越多(我无法相信),似乎windows xp(以及可能所有其他版本)运行程序的速度是安全模式的3倍.
以这个小程序为例:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
long i,j,k;
printf ("Starting...\n");
k = 12;
for (i = 0; i < 20000; i++)
for (j = 100000; j > 0; j--)
k = k * 12;
printf ("Done... k =%d", k); // just using k here to prevent the whole block isn't optimized away.
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我的2.4 Ghz计算机上,在安全模式下执行需要约2.5秒,而在正常模式下执行需要约8秒.(ThreadPriority = TIMECRITICAL,ProcessClass = REALTIME).即使我在这个非常正常的Windows模式下在vmware-linux会话中编译并启动该代码,它执行得更快(大约5.5秒).
我也做了很多cpu周期测量,实际上安全模式的结果看起来更像是你应该期望的,因为处理的指令数量.
那我错过了什么?任何人都可以捣乱我吗?
所有指针和提示都表示赞赏,Thanx.
解决了!我很抱歉,这个问题与我糟糕的alienware m15x有关,由于某种原因,它显然会减少到其cpu功率的1/3 - 除非你使用邪恶工具(ThrottleStop.exe)将其提升到正常速度.非常抱歉浪费你的时间.:(
解决了!我很抱歉,这个问题与我糟糕的alienware m15x有关,由于某种原因,它显然会减少到其cpu功率的1/3 - 除非你使用邪恶工具(ThrottleStop.exe)将其提升到正常速度.非常抱歉浪费你的时间.:(
相当肯定这对您的计算机来说很特别。
我在一台旧的 XP 上网本上运行了在发布模式下用 MSVC 10 编译的代码,对我来说,正常模式下比安全模式下要快一点,没有仔细测量,但正常模式下大约需要 8 秒,正常模式下大约需要 10 秒在安全模式下。
还有一点令人惊讶的是,在正常模式下,您的计算机上的时间似乎与旧的单核 Atom CPU 上的时间一样长。您没有提到它是什么计算机,但我假设它应该比上网本更快,所以您可能会遇到问题。