Linux 上の C で関数の実行時間を測定する最良の方法
関数の実行時間の測定は、C でのパフォーマンス分析と最適化にとって非常に重要です。 C プログラム。この記事では、Linux システムで関数の実行時間を効果的に決定する方法について説明します。
boost::chrono を使用して CPU 時間を測定する
Boost:: chrono ライブラリは時間に関連するさまざまな関数を提供しますが、特定の関数の実行時間を測定することはお勧めできません。 process_user_cpu_ Clock 関数は、現在のプロセスが費やしたユーザー CPU 時間を測定します。これは、特にマルチスレッド環境では、関数の実行時間を正確に表していない可能性があります。
解決策: std::chrono
関数の実行時間を測定するための推奨されるアプローチは、C 11 で導入された std::chrono ライブラリを使用することです。 std::chrono::high_resolution_lock を通じて正確な時間測定を提供します。
これは、std::chrono::high_resolution_ Clock:
#include <chrono> #include <iostream> #include <thread> void long_operation() { std::this_thread::sleep_for(150ms); // Simulating a long operation } int main() { auto t1 = std::chrono::high_resolution_clock::now(); long_operation(); auto t2 = std::chrono::high_resolution_clock::now(); auto ms_int = std::chrono::duration_cast<std::chrono::milliseconds>(t2 - t1); std::cout << ms_int.count() << "ms\n"; return 0; }
追加メモ
以上がLinux で C 関数の実行時間を測定する最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。