ベンチマークコードスニペットを探しています(C++)質問する

ベンチマークコードスニペットを探しています(C++)質問する

私のプログラム内の一部の読み込みルーチンは、完了するまでに時間がかかります。関数の実行にかかった時間をチェックするための簡単な小さなスニペットが必要です。小さいというのは、「できればサードパーティのライブラリなし」という意味です。

システム時間を取るような単純なものでしょうか?

start = current_system_time()
load_something()
delta = current_system_time()-start
log_debug("load took "+delta)

編集:問題の対象OSはWindowsです。

ベストアンサー1

あなたの答え: はい

注意:しませんマルチスレッドコードやマルチコアマシンで作業する場合は、堅牢なウォールクロックタイマーが必要です。そのため、OMPのウォールクロックを使用することをお勧めします。OMPはVCとGCC、およびほとんどのコンパイラに含まれており、標準であるため、消えてしまう心配はありません。

#include <omp.h>

// Starting the time measurement
double start = omp_get_wtime();
// Computations to be measured
...
// Measuring the elapsed time
double end = omp_get_wtime();
// Time calculation (in seconds)

おすすめ記事