1

実行時間が長い(数日)matlabプログラムを実行しています。tic 関数と toc 関数を使用して、プログラムのさまざまなステップの実行時間を測定します。ラップトップを安全に持ち運ぶために、スタンバイまたは休止状態にすることもあります。私の質問は、スタンバイがtic-toc関数によって測定された経過時間に影響を与えるということですか?

ありがとう!

4

1 に答える 1

2

さらに、テストコメントに!しかし、ここにいくつかの読みがあります:

http://www.mathworks.com/company/newsletters/articles/improvements-to-tic-and-toc-functions-for-measuring-absolute-elapsed-time-performance-in-matlab.html

つまり、tic/toc は、OS によって提供される高解像度タイマーに基づいています。 gettimeofday()Linux の場合、QueryPerformanceCounter()Windows の場合。これらの API はどちらも壁時計の時間 (CPU 時間や直接のサイクル カウントではありません) を処理するため、コンピューターがスリープ状態で計算を行っていない間も tic と toc がカウントし続けることがテストで示されると思います。

これを回避する 1 つの方法は、数秒から数分で終了することが保証されているコードの小さな増分で tic/toc を測定することです。次に、安全な実行時間のしきい値 (5 分? 10 分?) よりも大きい結果は、一時停止によって中断されたものとして破棄してから、時間の結果を集計または報告します。

于 2012-06-01T20:25:59.817 に答える