-5

在这里,我重新表述这个问题。因为有些人无法理解并开始投反对票

我有以下 PHP 代码:

$count = 100000;
$array = array();
for($i=0,$i<=$count,$i++)
{
    array_push($array,mt_rand(1111111111111111,9999999999999999));
}

根据当前代码,执行此代码的时间将随着 I 的增加而增加$count

我正在寻找一种解决方案/算法/技术,无论 $count 的值如何,我都可以在几秒钟内保持执行时间。我在 8 核 cpu 上运行它,我可以更改语言但不能升级硬件。

4

1 回答 1

2

对于 $count < $maxcount 的值,这应该为您提供大致恒定的时间。但是,我永远不会这样做 - 这只是浪费时间。

$maxcount = 100000
$count = 100000;
$array = array();

// Create required array
for($i=0,$i<=$count,$i++)
{
    array_push($array,mt_rand(1111111111111111,9999999999999999));
}

// Pad out time to $maxcount iterations, to keep time constant
for($i=$count,$i<=$maxcount,$i++)
{
    $dummy = mt_rand(1111111111111111,9999999999999999);
}
于 2013-11-02T06:05:28.953 回答