C#_時間測定

関数呼び出してから戻るまでを測定したいなど。

 


Stopwatch クラスは、
高解像力パフォーマンスカウンターがサポートされていれば使う
サポートされていなければ、
システムタイマ ( System.Windows.Forms.Timer のこと? ) を使う。

高解像力パフォーマンスカウンターを使用している時は、
Stopwatch.IsHighResolutionTrue

f:id:koshinRan:20170814010906j:plain ( クリックで拡大 )

 

using System.Diagnostics; 必要。

    private void button1_Click(object sender, EventArgs e)
    {
        Stopwatch sw = Stopwatch.StartNew();
        //↑↓ 同じ
        //Stopwatch sww = new Stopwatch();
        //sww.Start();
       
        // なんかの処理。
       
        sw.Stop();

        Console.WriteLine(sw.Elapsed.ToString());

     }

 

1 つの Stopwatch オブジェクトで
Start と Stop を繰り返すと、経過時間は累計されていく。
経過時間を 0 にリセットするには、Reset メソッドを呼び出す。

 

  • Elapsed
    TimeSpan型で返す。1 年間、3分間という時間。
  • ElapsedMilliseconds
    ミリ秒単位。1秒 = 1000ミリ秒
  • ElapsedTicks
    タイマ刻み回数。 Frequencyで割る。
    Elapsed 、ElapsedMilliseconds は
    ElapsedTicks を Frequency で割ったもの。

    タイマ刻み回数とは、計測中にタイマがカウントした回数
    タイマが1秒間に何回カウントできるかは、Stopwatch クラスの
    静的プロパティである Frequency プロパティから取得

 

こちらから。
https://dobon.net/vb/dotnet/system/stopwatch.html
http://dobon.net/vb/dotnet/system/datetimecal.html
http://dobon.net/vb/dotnet/system/timespan.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/412stopwatch/stopwatch.html
https://msdn.microsoft.com/ja-jp/library/ee372287(v=vs.110).aspx

 

以上。