Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 系统诊断。秒表计时器关闭3倍_Performance_Timer - Fatal编程技术网

Performance 系统诊断。秒表计时器关闭3倍

Performance 系统诊断。秒表计时器关闭3倍,performance,timer,Performance,Timer,我试图用秒表测量经过的时间,但得到的时间始终比实际经过的时间低~3.1倍。我无法解释为什么会发生这种情况,代码非常简单。我在3台机器上试过这段代码,虽然硬件和软件几乎相同,但结果都是一样的 i5-2500k、i5-2500、Windows 7 64位、Windows 8 RTM 64位 Stopwatch sw = new Stopwatch(); sw.Restart(); DateTime start = DateTime.Now; for (int i = 0; i < 5; i+

我试图用秒表测量经过的时间,但得到的时间始终比实际经过的时间低~3.1倍。我无法解释为什么会发生这种情况,代码非常简单。我在3台机器上试过这段代码,虽然硬件和软件几乎相同,但结果都是一样的

i5-2500k、i5-2500、Windows 7 64位、Windows 8 RTM 64位

Stopwatch sw = new Stopwatch();
sw.Restart();
DateTime start = DateTime.Now;

for (int i = 0; i < 5; i++)
{
    Thread.Sleep(1000);
}

DateTime end = DateTime.Now;
sw.Stop();

Console.WriteLine("Time passed: " + StringFormatter.ToShortString(sw));
Console.WriteLine("Time passed: " + StringFormatter.ToShortString(end - start));
对于10秒延迟:

Time passed: 00:00:03.2358
Time passed: 00:00:10.0100
好吧,这太愚蠢了。Stopwatch.ElapsedTicks的使用就好像它是timespan一样。需要为打印逻辑调整分辨率

Time passed: 00:00:03.2358
Time passed: 00:00:10.0100