gpt4 book ai didi

php - 用微时间测量持续时间随机结果为零

转载 作者:可可西里 更新时间:2023-10-31 23:13:12 24 4
gpt4 key购买 nike

我有一个这样的循环:

<?php
ini_set('memory_limit', '16024M');
ini_set('set_time_limit', 9999);
ini_set('max_execution_time', 9999);
ini_set('display_errors', TRUE);
ini_set('error_reporting', E_ALL);

for ($k = 1; $k <= 50; $k++) {

$haystack = array();

for ($i = 1; $i <= 100; $i++) {

$randomChar = substr(md5(microtime()),rand(0,26), 1);

$haystack[] = $randomChar;

}

$haystack[] = 'X';

$startTime = microtime(true);

// sleep(0);

$result = in_array('X', $haystack);

$endTime = microtime(true);

echo number_format(1000000 * ($endTime - $startTime), 20, ",", " ") . ' ';

}

这些是输出的前几行:

1,907348632812500000000,953674316406250000001,192092895507812500001,907348632812500000001,192092895507812500000,953674316406250000000,953674316406250000001,907348632812500000000,9536743164062500000020,027160644531250000000,953674316406250000001,192092895507812500000,953674316406250000000,953674316406250000000,000000000000000000000,953674316406250000000,953674316406250000000,953674316406250000000,000000000000000000000,953674316406250000000,00000000000000000000

如您所见,有几行声明持续时间为“0”——这实际上是不可能的。如果我取消注释包含 sleep(0) 命令的行,则没有零持续时间。

系统设置

  • 带有 FPM 的 PHP 7.0
  • nginx 1.10.3
  • Ubuntu 16.04

我在 CLI 上运行循环并通过浏览器调用它。

最佳答案

数组中的 101 项对于智能 php 来说足够小了 static optimization技巧和强大的 cpu。

如果您想看到 0 消失了,那么生成 1000 个项目:

for ($i = 1; $i <= 1000; $i++) {
$haystack[] = substr(md5(microtime()),rand(0,26), 1);
}

附言我已经使用 7.1 和 5.6 检查了您的代码,因此存在很大差异:

php7.1 vs php5.6

关于php - 用微时间测量持续时间随机结果为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53602495/

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