我怎么能说哪一类(哪些都做同样的工作)执行得更快?有没有可以衡量的软件?
刚读一篇关于分支预测的好文章.我试图用php语言重现它.
<?php
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
$count = 300000;
$sum = 0;
for ($i = 0; $i <= $count; $i++) {
$array[] = rand(0, $count);
}
sort($array);
for ($i = 0; $i <= $count; $i++) {
if ($array[$i] <= 150000) {
$sum += $array[$i];
}
}
$time_end = microtime_float();
$time = $time_end - $time_start;
echo $sum . '<br />';
echo 'End:' . $time;
?>
Run Code Online (Sandbox Code Playgroud)
但是我总是得到与排序相同的结果,没有它.也许我做错了什么?或者也许php内置了分支预测器的优化? …
我有一个像这样的字符串:
$str = '35-3|24-6|72-1|16-5';
Run Code Online (Sandbox Code Playgroud)
我想生成一个数组:
$arr = array (
35 => 3,
24 => 6,
72 => 1,
16 => 5
);
Run Code Online (Sandbox Code Playgroud)
什么是最好最简单的方法?