昨日のP2PSIP勉強会で、時間計測の誤差について話題になってました。実装の変化で関数の精度も変わってきてますので、自分の頭の整理も兼ねてちょっとまとめてみました。 経過時間の計測 何も知らずに Linux*1で、timeコマンドもしくは times関数を使うと精度はtick(4msから10ms*2)に制限されてしまいます。WindowsでGetTickTimeを使っても同様です。これは、Javaで System.currentTimeMillis() を使う場合も同様でした。 ミリ秒以下の精度を求める場合は、以下がお薦めです。 Linux, Mac OS X gettimeofday() マイクロ秒の精度で紀元 (1970年1月1日00:00:00 UTC)から経過時間を取得できます。 昔は、gettimeofday() もtick精度であったと記憶していますが、最近のLinuxでは、問