C++ Builder XE4 > debug > 実装: 処理時間(msec)を計測して返す関数 > debug_getElapsedTime()
2976 ワード
動作環境
C++ Builder XE4
処理時間を計測したい
- 処理時間を計測したい
- 処理の合間のコール文を1行に抑えたい
- 処理の合間に複数行のデバッグ用処理を入れたくはない
実装
static定義したpreTime に「前の時刻」を保持することで、コール文を一行に圧縮する。
DWORD __fastcall TFormMain::debug_getElapsedTime(void)
{
static DWORD preTime = 0;
if (true) {
}
DWORD elapsed;
if (preTime > 0) {
elapsed = GetTickCount() - preTime;
} else {
elapsed = 0;
}
preTime = GetTickCount();
return elapsed;
}
使用例
DWORD elapsed; // 経過時間(msec)
elapsed = debug_getElapsedTime();
// 何かの処理
elapsed = debug_getElapsedTime();
int nop; // for breakpoint
nop(No Operation)の行でブレークポイントによる停止をすると、「//何かの処理」の処理時間を計測できる。
備考
- 処理時間計測の精度は追及してはいない
- だいたいのオーダーが分かればよい程度
Author And Source
この問題について(C++ Builder XE4 > debug > 実装: 処理時間(msec)を計測して返す関数 > debug_getElapsedTime()), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/aa068336b90f1830d4e2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .