gpt4 book ai didi

php - 我们可以使用 $_SERVER ['REQUEST_TIME_FLOAT' ] 来获得可靠的处理时间吗?

转载 作者:行者123 更新时间:2023-12-04 12:19:44 26 4
gpt4 key购买 nike

我看到每个人都建议使用一个变量,例如

$start_time = microtime(TRUE);

在脚本的顶部,然后在最后一行我们做:
$process_time = microtime(TRUE) - $start_time;

我的问题是,我们能否可靠地使用 $_SERVER['REQUEST_TIME_FLOAT']并完全跳过 $start_time ?如果是这样,为什么每个人仍然建议在顶部使用 $start_time ?

我的意思的例子:
<?php
// No need for $start_time...

// All the stuff we do to have the benchmark at the end

// Only this line needed to display execution time
echo "Processed in: ". bcsub(microtime(TRUE), "{$_SERVER['REQUEST_TIME_FLOAT']}", 4);
?>

最佳答案

这取决于您要测量的内容。
$_SERVER['REQUEST_TIME_FLOAT']设置您的网络服务器的那一刻 hands the processing over到 PHP。这意味着它将始终是 PHP 开始处理请求的时间戳。因此,如果您想测量 PHP 到达特定点所需的时间,您可以使用它。缺点是在 PHP 进入您的代码之前,您并不真正知道它在做什么。 PHP的auto-prepend中可能有文件在读取代码的第一行之前占用处理时间的配置。但是,如果您实际上也想测量该时间,则必须使用此属性。

另一方面,你可以要求 microtime(true)无论何时,当您想要衡量特定代码段的性能时,这都会有所帮助。例如,也许您在 MVC 框架中,并且只想测量模型获取和准备数据库结果集所需的时间,而实际上并不关心框架确定哪个 Controller /操作所需的时间需要被调用或您的 Controller 向您的模型询问信息需要多长时间。

关于php - 我们可以使用 $_SERVER ['REQUEST_TIME_FLOAT' ] 来获得可靠的处理时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55885892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com