Stopwatch + IDisposable 做個計算執行時間的Class

寫程式常常都需要使用 Stopwatch  來計算某個 Method 花了多少時間,

要用時就 Google 一下就可找到拿來用。

另外我們也學習 Inttroduction to Rx 的 IDisposable ,使用 Stopwatch + IDisposable 做個計算時間的Class,

使用時就用 using 去包,如下,

 

public class TimeIt : IDisposable
{
	private readonly string _name;
	private readonly Stopwatch _watch;
	public TimeIt(string name)
	{
		_name = name;
		_watch = Stopwatch.StartNew();
	}
	public void Dispose()
	{
		_watch.Stop();
		Console.WriteLine("{0} took {1}", _name, _watch.Elapsed);
	}
}

用法如下,

private void button1_Click(object sender, EventArgs e)
{
	using (new TimeIt("Method1"))
	{
		Method1();
	}
	using (new TimeIt("Method2"))
	{
		Method2();
	}
}

private void Method1()
{
	Thread.Sleep(5101);
}

private void Method2()
{
	Thread.Sleep(1101);
}

以上內容出處為 「Inttroduction to Rx 的 IDisposable

Walter Mitty
推薦另一款 BenchmarkDotNet 試試 
https://github.com/dotnet/BenchmarkDotNet
大伙也可以試看看哦!

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^