Top / Programming / C++Builder / Diagnostics.TStopwatchで正確に処理時間を計測する

Diagnostics.TStopwatchで正確に処理時間を計測する

C++Builder2010から導入されたDiagnostics.TStopwatchを使うと、処理時間を正確に計測することができます。

#include <iostream>
#include "Diagnostics.hpp"

std::locale::global(std::locale("japanese"));

TStopwatch sw = TStopwatch::StartNew();
Sleep(1000);
sw.Stop();

// ミリ秒単位で出力
std::cout << sw.ElapsedMilliseconds << std::endl;

// TimeSpan構造体で書式付き表示
TTimeSpan ts = sw.Elapsed;
UnicodeString s = ts; // C++Builder2010ではリンクエラーになる。C++Builder XEならOK
std::wcout << s.c_str() << std::endl;

実行結果

1000
00:00:01.0002933

TStopwatch::StartNew()はストップウォッチを作成して実行します。
すぐに実行しない場合は、TStopwatch::Create()を使用します。

TStopwatch sw = TStopwatch::Create();
sw.Start(); //ストップウォッチを実行
Sleep(1000);
sw.Stop();

Elapsedプロパティは経過時間を示します。
ElapsedMillisecondsプロパティはミリ秒単位で経過時間を示します。

関連

更新履歴