GetTickCount

GetTickCount() 関数はシステムが起動してからの経過時間をミリ秒数で返します。

uint  GetTickCount();

戻り値

uint 型の値

注意事項

カウンタは、システムタイマの制約によって制限されます。時間は符号なし整数として格納されるので、コンピュータが途切れることなく動作した場合 49.7日 ごとに溢れます。

例:

#define MAX_SIZE 40
//+------------------------------------------------------------------+
//| 40フィボナッチ数の計算時間を測定するためのスクリプト                            |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 初期値を記録する
  uint start=GetTickCount();
//--- フィボナッチ数列の次の番号を取得するための変数
  long fib=0;
//--- フィボナッチ数列から番号の指定された量をループで計算する
  for(int i=0;i<MAX_SIZE;i++) fib=TestFibo(i);
//--- かかった時間をミリ秒単位で取得する
  uint time=GetTickCount()-start;
//--- メッセージをエキスパート操作ログへ出力する
  PrintFormat("Calculating %d first Fibonacci numbers took %d ms",MAX_SIZE,time);
//--- スクリプトが完了した
  return;
 }
//+------------------------------------------------------------------+
//| フィボナッチ数をシリアル番号で取得するための関数                               |
//+------------------------------------------------------------------+
long TestFibo(long n)
 {
//--- フィボナッチ数列の最初のメンバ
  if(n<2) return(1);
//--- 他の全てのメンバは、以下の式で計算される
  return(TestFibo(n-2)+TestFibo(n-1));
 }

参照

日付と時刻, EventSetMillisecondTimer