使用秒表测试时间间隔

时间:2014-02-25 13:18:38

标签: c# performance-testing stopwatch

我正在试图找出算法查找某些字段所需的时间以及每个记录值之间的时间间隔。例如:

算法开始:0.0

找到第一个字段:2.56ms经过的总时间:2.56ms

找到第二个字段:2ms总耗时:4.56ms

.....等。

我正在尝试使用秒表类并记录经过的时间但是在找到x1和x2之间时间没有变化它只为所有这些输出x1时间。我该怎么办?

由于

2 个答案:

答案 0 :(得分:2)

获取经过的时间后使用stopwatch.Reset()。 像这样:

Stopwatch sw = new Stopwatch();
Stopwatch swTotal = new Stopwatch();

swTotal.Start(); 
sw.Start();
//first action
sw.Stop();
Console.WriteLine("Elapsed 1 = " + sw.Elapsed.ToString());
sw.Reset();
//second action
Console.WriteLine("Elapsed 2 = " + sw.Elapsed.ToString());
swTotal.Stop();
Console.WriteLine("Total = " + swTotal.Elapsed.ToString());

答案 1 :(得分:0)

这是我在每种方法中使用的一些代码:

TimeSpan ts = sWElapsed.Elapsed;
sWElapsed.Reset();
sWElapsed.Start();
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                                        ts.Hours, ts.Minutes, ts.Seconds,
                                        ts.Milliseconds / 10);
Console.WriteLine("LP count: " + countLp + "  Time Elapsed: " + elapsedTime);

记录全部的代码:

sWTotal.Stop();
sWElapsed.Stop();

TimeSpan ts = sWTotal.Elapsed;
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                ts.Hours, ts.Minutes, ts.Seconds,
                ts.Milliseconds / 10);

Console.WriteLine("Deal complete. Total # of Lp's: " + countLp + " Time to complete collection: " + elapsedTime);