2013-11-23 207 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