microtime()和浮点算术

5 php mysql apache performance

我创建了一个简单的网站,从MySQL数据库中获取文章.我用PHP microtime(true)函数来计算解释的时间.在我的PHP脚本的顶部,我使用:

$time = microtime(true);
Run Code Online (Sandbox Code Playgroud)

在页面底部我使用了以下代码:

echo microtime(true) - $time;
Run Code Online (Sandbox Code Playgroud)

当我使用脚本顶部和底部的那些语句刷新我的网页时.它总是回显一个值(0.0355005264282;只是一个实例).这是解释我的PHP页面所花费的时间.

正如PHP手册所述(http://php.net/manual/en/function.microtime.php),microtime(true)返回当前的unix时间戳,以微秒为单位.is one millionth of一秒一微秒.所以,

(例如):

0.03 microseconds = 1/1,000,000 * 0.03 seconds
0.03 microseconds = 0.000,000,03 seconds 
Run Code Online (Sandbox Code Playgroud)

因此,解释使用MySQL的PHP​​网页的时间大约是0.000,000,03几秒钟.

我的问题是:microtime(true)是否说明了解释时间的真相?如果这是真的,这太棒了,因为我不再需要过多担心性能了.

我在Windows上使用XAMPP

Spa*_*Kot 9

microtime - 返回当前的Unix时间戳,以微秒为单位

混合微量时间([bool $ get_as_float = false])

改为:

$time = microtime(true);
echo microtime(true) - $time;
Run Code Online (Sandbox Code Playgroud)

结果将在几秒钟内完成.检查一下(手动):

'time1'=>浮动1360860136.6731

'time2'=>浮动1360860136.6732和

'time2' - 'time1'= 9.9897384643555E-5即0.000099897384643555(不是0.0001)

PHP通常使用IEEE 754双精度格式.可以在基数10中精确表示为浮点数的有理数,如0.1或0.7,在基数2中没有精确表示为浮点数


zch*_*zch 5

使用$get_as_float它以秒为单位返回时间,精确到微秒.所以你有0.0355005264282秒,而不是微秒.

从您的链接:

如果get_as_float设置为TRUE,则microtime()返回一个浮点数,表示自Unix纪元精确到最接近的微秒以来的当前时间(以秒为单位).

  • @PravindaAmarathunga - 它在"返回值"中做了,添加了这部分来回答. (3认同)