● 実行速度について
時間計測ツール
次のような実験ツールを作成する事で、時間の計測を行う事ができます。
精度は高くありませんが、改善前と改善後の時間を比較するのには十分です。
簡単な時間計測方法.
#include <windows.h>
#include <stdio.h>
#define MAX_CNT ループ回数
VOID main(VOID )
{
DWORD s;
INT i;
/*
一回分の処理時間 × MAX_CNT を測定します
GetTickCount が返す戻り値の単位はミリ秒です
*/
s = GetTickCount();
for(i = 0;i < MAX_CNT;i++){
この中に対象の処理を入れる
}
printf("time : %lu\n",GetTickCount() - s);
}
最初は MAX_CNT に小さな値をセットして実行してみます。その後、MAX_CNT を少しずつ大きくして行きます。小さな処理の場合、あるいは早い段階で終了条件に達している処理の場合は、一回分の処理時間が非常に短いので、MAX_CNT を大きくしないと確認できるだけの累積時間になりません。
マシンにもよりますが、結果が 4 桁くらいになる回数(数秒程度)が作業し易いかもしれません。