PHP:函数的时间速度,但是太快了?
Posted
技术标签:
【中文标题】PHP:函数的时间速度,但是太快了?【英文标题】:PHP: Time speed of functions, but it's too fast? 【发布时间】:2010-01-31 05:51:34 【问题描述】:我真的很想测试正则表达式等的速度,在 php.net 上有这个例子:
$time_start = microtime(true);
// Sleep for a while
usleep(100); // Or anything for that matter..
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
编辑:我的意思是播放一个大循环函数来代替 usleep()。它总是显示一个非常随机的数字,总是小于 1。它没有显示任何值得基准的东西!
【问题讨论】:
您使用的是哪个 PHP 版本? 【参考方案1】:计时器就是这样。在函数周围环绕一个循环。如果要测量微秒,请运行 10^6 次,如果要测量毫秒,请运行 10^3 次。不要期望得到超过 2 位小数的精度。
【讨论】:
【参考方案2】:usleep 函数需要以微秒为单位的时间,您指定的值非常低,请尝试增加该值:
usleep(2000000); // wait for two seconds
usleep 功能在 Windows 系统上也很棘手。
或者您可以简单地使用 sleep 函数,将秒数指定为其参数,例如:
sleep(10); // wait for 10 seconds
【讨论】:
【参考方案3】:无法复制,没有人拥有比我更快的计算机。 16 个执行线程,8 个内核,i7 架构。您的 PHP 构建或操作系统必须是次优的。这完全是在运行您的代码。
`--> php tmp.php 在 0.00011587142944336 秒内什么也没做 .-(/tmp)-------------------------------------------- --------(瘟疫@大流行)-这是与 usleep(1000000)...(1 秒)
`--> php tmp.php 在 1.0000479221344 秒内什么也没做 .-(/tmp)-------------------------------------------- --------(瘟疫@大流行)-仅供参考,我使用的是 PHP 5.3.0,并不是说它在 5.0 之后有任何区别(在这种情况下)。
您的代码执行时间是否少于?如果是这样,那将解释您的基准。当我为一篇文章描述一些东西时,我会运行我的例行程序 10,000 次……有时是数百万次。现在的计算机速度很快。
就“随机”部分而言,这就是为什么我会采集几个大迭代样本并将它们平均在一起。把标准差也扔进去也没有什么坏处。另外,请记住不要在测试时流式传输 MP3 或播放视频。 :p
【讨论】:
以上是关于PHP:函数的时间速度,但是太快了?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 最新发布,支持 Java 19,这速度太快了。。