早上看到一篇#技術晨讀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個數字作循環也不是一個很大的量,只能從極小的差距中判別性能差距,若是樣本數據變大,執行的邏輯變複雜,測試結果會更加明顯,因此在進行大批量數組數據處理時,提早作好排序也是一件有必要的事情,可以在一些不經意的地方解放性能排序