测量PHP脚本的时间-使用$ _SERVER ['REQUEST_TIME']

Ash*_*501 2 php benchmarking timing superglobals microtime

这些方法是衡量脚本的可靠方法吗?

$time = ($_SERVER['REQUEST_TIME_FLOAT'] - $_SERVER['REQUEST_TIME']);

要么

$time = (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);

应该使用哪一个?

每个有什么区别?

他们返回非常不同的测量结果。

Viv*_*ela 7

  1. $time = ($_SERVER['REQUEST_TIME_FLOAT'] - $_SERVER['REQUEST_TIME']);

这将永远不会给您PHP脚本的执行时间。因为这两个值都用于存储request的开始。区别在于,$_SERVER['REQUEST_TIME_FLOAT']精度更高,并且以毫秒为单位存储时间值(以秒$_SERVER['REQUEST_TIME']为单位)。

  1. $time = (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);

我想这是应该在PHP脚本的末尾使用的方式,我想您知道原因。

另外请记住,自PHP 5.4.0起,$ _ SERVER ['REQUEST_TIME_FLOAT']可用。

  • 我不太确定你到底是什么意思。第一个代码片段对于测量执行时间根本没有用,因为这两个值都存储服务器收到请求时的时间戳值。唯一的区别是 $_SERVER['REQUEST_TIME_FLOAT'] 将以微秒精度存储它,使其更加准确。我希望我能解答你的疑问。 (2认同)