ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Win32 経過時間

2006-08-22 15:28:43 | PG(言語比較)

プログラミング言語比較で、Win32の経過時間の計り方を追加。

  • time()はC言語の標準だが、秒単位。
  • GetTickCount()は精度があまりよくないらしい(数ミリ秒単位)。
  • timeGetTime()はマルチメディアタイマー。
  • QueryPerformanceCounter()はマイクロ秒単位(に近い)。が、OSによって使えたり使えなかったりするらしい。

使用したい場面によるのは当然としても、他の言語では実際の精度が分からなくても選択肢が少ない(例えばJavaならSystem#currentTimeMillis()を使うでしょ?Dateでもいいけど、中身は同じな気がする)ということを考えれば、普通はGetTickCount()を使っとけば無難な気がする。


time()は基点となる日付からの経過時間を秒単位で返すが、戻り値はtime_t型で実体はlong(32bit)。したがって2038/01/19 03:14:07までしか表せないのは有名な話。
でも実行時間を知りたいだけならtime()とtime()の値の差をとればよく、この時刻をまたいでも平気なはず。

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする