私のアプリケーションで特定の関数呼び出しがかかる時間を測定したいと思います。このために私はStopwatch
クラスを使用し、それはうまく動作します。私は多くの機能を中心に、これを入力していますがCで異なる署名を持つ関数の時間計測
static readonly Stopwatch StopWatch = new Stopwatch();
StopWatch.Restart();
void func();
StopWatch.Stop();
Assert.Blabla
:それは次のようになります。私のためにこれを行う関数を作る方法はありますか?私は試みましたが、関数のシグネチャがすべて異なっているので、私はそれを理解できません。私はFunc
とAction
を見ましたが、固定署名が必要なようです。
CallAndMeasureFunction(func)
はい、C#は強く型付けされた言語ですが、もちろん固定の署名が必要です。 – Milney
これはプロファイリングと呼ばれます。これらの統計情報を取得するには、.NETプロファイリングツールを使用します。 https://stackoverflow.com/questions/14019510/calculate-the-execution-time-of-a-method(series0ne answer) – ojf
またはhttps://github.com/petabridgeのような図書館を調べてください。/NBench – Milney