gpt4 book ai didi

PHP执行时间测量精度

转载 作者:行者123 更新时间:2023-12-02 04:59:27 24 4
gpt4 key购买 nike

所以我这样测量执行时间:

$time = -microtime(true);
...
$time += microtime(true);

PHP 版本是 5.3.26RC1 x86,运行在 Win Server 2008 x64 机器上。“精度”ini 参数等于 16。但是,每次执行时间低于 0.001 时,它只返回零(显然,脚本不能立即执行!)。更奇怪的是,即使这两个语句之间没有代码,我的测试机(标准 php.ini-development)也返回非零值……可能是哪里出了问题?

更新:简单测试:

<?php
ini_set('precision',16);
echo php_uname() . PHP_EOL;
echo phpversion() . PHP_EOL;
echo ini_get('precision').PHP_EOL;

$time = -microtime(true);
$time += microtime(true);
echo number_format($time, 10) .PHP_EOL;
?>

测试机输出:

Windows NT XXX 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586
5.4.12
16
0.0000028610

生产机器输出:

Windows NT XXX 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
5.3.26RC1
16
0.0000000000

最佳答案

您的平台 Windows 无法通过标准时间调用区分如此小的时间。

来自 PHP 源代码的注释:

“在 Windows 上,time_sleep_until 的精度为毫秒,而 microtime() 的精度为十分之一秒。”

(在 ext/standard/tests/misc/time_sleep_until_basic.phpt 中。)

关于PHP执行时间测量精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17358511/

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