非常に単純なプロファイリングでは、次のようにmicrotime()
を使用します。
$now = microtime();
for (...) {
// do something
echo microtime() - $now;
$now = microtime();
}
さて、echo
行の出力は完全にランダムに見えます。つまり、変動を予期していましたが、私はしませんでした期待します負の数が表示されます。
ただし、一般的な結果には、約1/3の負の数が含まれます。 Solaris(PHP 5.0.x)とWinVista(PHP 5.2.3)でこれを確認しました。
ここで一体何が起こっているのですか?誤ってタイムマシンを発明したことがありますか?
Microtimeによって返されるものに対して操作を実行する場合は、「get asfloat」パラメーターをtrueに設定する必要があります(デフォルトはfalse)。
http://www.php.net/manual/en/function.microtime.php
$now = microtime(true);
for (...) {
// do something
echo microtime(true) - $now;
$now = microtime(true);
}