6

MySQL データベースから記事を取得する単純な Web サイトを作成しました。PHPmicrotime(true)関数を使用して、通訳の時間を計算しました。私が使用した私のPHPスクリプトの上部に:

$time = microtime(true);

そして、ページの下部で次のコードを使用しました:

echo microtime(true) - $time;

スクリプトの上部と下部にあるこれらのステートメントで Web ページを更新すると。常に周囲の値をエコーアウトします ( 0.0355005264282; 単なるインスタンス)。これは、私の PHP ページを解釈するのにかかった時間です。

PHP のマニュアル ( http://php.net/manual/en/function.microtime.php ) にあるようmicrotime(true)に、現在の UNIX タイムスタンプをマイクロ秒単位で返します。1 秒あたり 1 マイクロ秒is one millionth of。そう、

(例えば):

0.03 microseconds = 1/1,000,000 * 0.03 seconds
0.03 microseconds = 0.000,000,03 seconds 

したがって、MySQL を使用する PHP Web ページの解釈にかかる時間は約0.000,000,03数秒です。

私の質問は次のとおり です。これmicrotime(true)は通訳時間について本当のことを言っているのですか? それが本当なら、もうパフォーマンスについてあまり心配する必要がないので、それは素晴らしいことです.

WindowsでXAMPPを使用しています

4

3 に答える 3

10

microtime — 現在の Unix タイムスタンプをマイクロ秒単位で返す

混合マイクロタイム ([ bool $get_as_float = false ] )

代わりに:

$time = microtime(true);
echo microtime(true) - $time;

結果は数秒で表示されます。これを確認してください(手動):

'time1' => float 1360860136.6731

'time2' => float 1360860136.6732 および

'time2' - 'time1' = 9.9897384643555E-5、つまり 0.000099897384643555 (0.0001 ではない)

PHP は通常、IEEE 754 倍精度形式を使用します。0.1 や 0.7 のように、基数 10 の浮動小数点数として正確に表現できる有理数は、基数 2 の浮動小数点数として正確に表現できません。

于 2013-02-14T16:30:32.110 に答える
5

これを使用$get_as_floatすると、マイクロ秒まで正確な秒単位の時間が返されます。したがって0.0355005264282、マイクロ秒ではなく秒があります。

あなたのリンクから:

get_as_float が TRUE に設定されている場合、microtime() は float を返します。これは、最も近いマイクロ秒まで正確な Unix エポックからの現在の時間を秒単位で表します。

于 2013-02-14T16:38:54.113 に答える
2

デフォルトでは、 "msec sec" の形式の文字列microtimeを返します。文字列から文字列を減算しているため、ナンセンスな結果が得られます。

get_as_floatパラメータを追加して、もう一度やり直してください。

于 2013-02-14T16:31:13.200 に答える