1

phpのmicrotime()を使用して、コード内の2つのループにかかる時間をベンチマークし、どちらがより高速に実行されるかを確認しようとしています。これが私のコードです:

$now = microtime();

//loop1  here

$elapsed = microtime() - $now;
echo "Elapsed: $elapsed <br />";

これを1つのループで実行すると、次のような負の数の結果が得られます。

Elapsed: -0.120572 

これは奇妙なことです。なぜなら、microtime()常に数マイクロ秒前の値よりも大きくなければならないからです。

2番目のループの場合、値は常に正です。

Elapsed: 0.005483 

何が起きてる?

4

1 に答える 1

2

http://au1.php.net/manual/en/function.microtime.phpmicrotime(true)のようにfalseとして使用すると、マイクロタイムが文字列として返され、数値ではなく文字列に対して実行する計算が返されます。

于 2012-11-22T03:50:36.537 に答える