1
Stopwatch
을 사용하여 경과 시간을 측정하려하지만 실제 경과 시간보다 약 3.1 배 낮은 시간을 일관되게 얻으려고합니다. 왜 이런 일이 생기는지 내 손가락을 놓을 수는 없지만 코드는 간단합니다. 난 3 기계에서 코드를 시도하고 거의 동일한 하드웨어 및 소프트웨어와 같은 결과를 얻고있다.System.Diagnostics.Stopwatch timer off 3의 계수
i5-2500k, i5-2500, 윈도우 7 64 비트, 윈도우 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));
결과는 지속적으로 떨어져 ~ 3.1 배이다. 10 초 지연에 대한
Time passed: 00:00:01.6347
Time passed: 00:00:05.0600
:
Time passed: 00:00:03.2358
Time passed: 00:00:10.0100
'StringFormatter'이란 무엇입니까? –