【问题标题】:Measuring the time of PHP scripts - Using $_SERVER['REQUEST_TIME']测量 PHP 脚本的时间 - 使用 $_SERVER['REQUEST_TIME']
【发布时间】:2015-02-24 18:48:20
【问题描述】:

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

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

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

应该使用哪一个?

每个人的区别是什么?

它们返回非常不同的测量值。

【问题讨论】:

    标签: php benchmarking timing superglobals microtime


    【解决方案1】:
    1. $time = ($_SERVER['REQUEST_TIME_FLOAT'] - $_SERVER['REQUEST_TIME']);

    这永远不会给你 PHP 脚本的执行时间。因为这两个值都用于存储请求开始。不同的是,$_SERVER['REQUEST_TIME_FLOAT'] 更精确,以微秒精度存储时间值,而$_SERVER['REQUEST_TIME'] 以秒为单位。

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

    我想这是应该在 PHP 脚本末尾使用的,我想你知道为什么。

    还要记住 $_SERVER['REQUEST_TIME_FLOAT'] 自 PHP 5.4.0 起可用。

    【讨论】:

    • 只是想知道这是否有意义...第一个应该是更快/更小的时间,因为它是为了'precision'对吗?在我的情况下,第二个实际上返回 更快/更小 执行时间是否有意义?这可能吗?
    • 我不太确定,你到底是什么意思。第一个代码 sn-p 对于测量执行时间根本没有用,因为这两个值都在服务器接收到请求时存储时间戳值。唯一的区别是 $_SERVER['REQUEST_TIME_FLOAT'] 将以微秒精度存储它,使其更准确。希望我能回答您的疑问。
    猜你喜欢
    • 1970-01-01
    • 2013-06-06
    • 2020-06-18
    • 2011-09-08
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2014-10-13
    • 2015-08-25
    相关资源
    最近更新 更多