開發環境
- OS:Windows 7 64bit
- IDE:Visual Studio 2010
- Project Type:Window Form Developer
- Framework:ASP.NET 4
狀況描述:
- 想要計算程式運算效能。
解決方法:
- 使用System.Diagnostics.Stopwatch
繼承架構:
範例:
private void button1_Click(object sender, EventArgs e)
{
//宣告並建立程式執行計時器
Stopwatch sw = new Stopwatch();
//宣告字串輸出結果存放變數
string result = "";
//迴圈執行次數,100萬
int count = 1000000;
//開始計時
sw.Start();
for (int i = 0 ; i < count ; i++)
{
result = "abcdefghijklmnopqrstuvwxyz" + i + "abcdefghijklmnopqrstuvwxyz";
}
//停止計時
sw.Stop();
Console.WriteLine("Elapsed Time: " + sw.ElapsedMilliseconds + "ms");
//如果在Web From下要使用Debug.WriteLine( ) 才能輸出
//Debug.WriteLine("Elapsed Time: " + sw.ElapsedMilliseconds + "ms");
}
- 注意若你使用了+=串接,那麼result將會非常長,因為接了一百萬次的string長度,此時千萬別使用Console.WriteLine( ),如此將會造成系統無法回應,因為要將那麼大量的字傳輸出到Console Port上是一個很大的運算量。
輸出結果:
Elapsed Time: 330ms
這個範例中,迴圈中的運算式執行了一百萬次花了330ms。
1ms = 0.001s。
參考資料:
沒有留言:
張貼留言