我的机器细节:32位操作系统(win-7),双核,时钟速度:2.93Ghz,使用的语言= c#
我有循环
for ( long d = 0 d<= K ; d++)
{
//no instrucitons
}
如果K是任何长号。
计算完成此循环所需时间(以秒为单位)的公式是什么?
答案 0 :(得分:10)
您可以使用Stopwatch.Elapsed Property
的Stopwatch classusing System;
using System.Diagnostics;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for (long d = 0; d<= K; d++)
{
//do something
}
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine("RunTime " + elapsedTime);
}
}
答案 1 :(得分:1)
如果你编译一个没有副作用的空循环(在你的示例中意味着读取K
没有副作用),那么执行时间应为零,因为编译器会优化它看到它没有任何用处。
答案 2 :(得分:0)
您可以使用stopwatch
Stopwatch sw = new Stopwatch();
sw.start();
for( long d = 0 d<= K ; d++)
{
//dostuff
}
sw.stop()
debug.writeline(sw.ElapsedMilliseconds);