ホームページ >バックエンド開発 >C++ >短い C コード スニペットの実行時間を正確に測定するにはどうすればよいですか?

短い C コード スニペットの実行時間を正確に測定するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-03 00:42:10157ブラウズ

How Can I Accurately Measure the Execution Time of Short C   Code Snippets?

C コード スニペットの実行時間を正確に計算する

C のコード スニペットの正確な実行時間を決定することは、パフォーマンス分析と最適化に不可欠です。ただし、標準の Clock() 関数は短いコード セグメントの測定には不十分であり、多くの場合「0 秒」を返します。

この制限に対処するには、より正確なアプローチは GetTimeMs64() 関数を利用することです。プラットフォーム (Windows または Linux) に関係なく、UNIX エポックからの経過時間をミリ秒単位で表示します。

の実装GetTimeMs64()

#include <ctime>
#include <chrono>

uint64_t GetTimeMs64() {
    return std::chrono::duration_cast<std::chrono::milliseconds>(
        std::chrono::system_clock::now().time_since_epoch()
    ).count();
}
GetTimeMs64() は、ほとんどのプラットフォームで 1 ミリ秒の粒度で高レベルの精度を提供します。

使用法

実行時間を計算するにはコード スニペットの場合は、次の手順に従います。

uint64_t startTime = GetTimeMs64();
// Execute the code snippet
uint64_t endTime = GetTimeMs64();
double executionTime = static_cast<double>(endTime - startTime) / 1000.0;
実行時間変数には、コード スニペットの継続時間が高精度で秒単位で含まれるようになりました。

以上が短い C コード スニペットの実行時間を正確に測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。