2013-11-23 124 views
0

我想检查执行特定功能所需的时间量,这样我将在我的程序中添加准确的时间延迟... 我试图在我的函数之前和之后编写此函数:C#计算时间戳

public static String (this DateTime value) 
{ 
    return value.ToString("mmssffff"); 
} 

然后我计算两个结果之间的差异,我也得到350.I不知道这是否微秒或毫秒...

你知道结果的意义(350)? 你有另外一个想法吗? 谢谢!

+3

为什么不让自己变得容易并使用'value.ToString(“mm:ss:ffff”);'?你会立即知道什么给出了输出。 –

+1

我的代码中没有看到任何'TimeStamp' .. –

+0

请勿使用DateTime来测量已用时间,但[[StopWatch]](http://msdn.microsoft.com/zh-cn/library/ system.diagnostics.stopwatch(v = vs.110)的.aspx)。 –

回答

0

您可以使用剖析了这个任务。在许多情况下,单一方法需要大量时间,但是大部分时间需要立即执行的子方法。事实上,我之前正在研究一个Java项目,并且我发现,花费大量时间来解决这个问题。我在那里使用了一个profiler,并且已经看到大部分时间都是一个简单的对象实例。当然,问题在于,由于该构造函数,Java库初始化了很多东西,所以我选择了一个替代方案。所以,我认为你应该使用一个探查器,阅读更多herehere开始使用C#探查器。

+0

看起来很复杂..但我会尝试。 – Tehila

+0

非常感谢你 – Tehila

+0

不客气。 –

3

使用Stopwatch进行性能分析。

Stopwatch sw = new Stopwatch(); 
    sw.Start(); 
    SayHello(); 
    sw.Stop(); 
    Console.WriteLine("Total time elapsed {0} millseconds", sw.Elapsed.TotalMilliSeconds); 
+0

谢谢...... !!! – Tehila

2

我通常使用的是这样的:

Stopwatch sw = Stopwatch.StartNew(); 
// rest of the code 
sw.Stop(); 
Console.WriteLine("Total time (ms): {0}", sw.ElapsedMilliseconds); 
+1

为什么要把“长”变成“长”? –

+0

非常感谢你 – Tehila

+0

对不起,不需要演员。编辑。 – Wilton