早上看到一篇#技术晨读php
<?php
$a1 = array();
for ($i = 0;$i<1000000;$i++){
$a1[] = $i;
}
shuffle($a1); //打乱数组
$mic1 = microtime();
$t = 0;
foreach($a1 as $value){
$t += $value;
}数组
$mic2 = microtime();
echo $mic2 - $mic1;
?>性能
经过调用这部分代码,注释或开启 shuffle($a1) 行作到简单的数组无序排列,作一个简单测试,大体结果是若是是有序数组的状况下,执行时间$mic2 - $mic1大约为 0.05左右,若是是使用shuffle打乱数组后执行,$mic2 - $mic1大约在0.2-0.25测试
结论:因为测试样本数据所作的处理过小,即便是100w个数字作循环也不是一个很大的量,只能从极小的差距中判别性能差距,若是样本数据变大,执行的逻辑变复杂,测试结果会更加明显,因此在进行大批量数组数据处理时,提早作好排序也是一件有必要的事情,可以在一些不经意的地方解放性能排序