Loading

测试collect和foreach处理速度

测试collect和foreach处理速度

想法:使用相同数组进行循环处理同样逻辑,判断那个运行时间越短越块

话不多说上代码

public function test()
{
    //创建一个1-500000的数组
    $int_array = range(1,500000);
    
    //foreach循环执行时间计算
    $start_time = microtime(true);
    foreach ($int_array as &$value){
        $value = $value+1;
    }
    echo round( microtime(true) - $start_time,6);
    echo "<br>";
    
    //collect循环执行时间计算
    $start_time = microtime(true);
    collect($int_array)->map(function ($value){
        return $value+1;
    })->toArray();
    echo round(microtime(true) - $start_time,6);
    echo "<br>";
    //执行结果
    //0.014683
    //0.065083
}

备注:由于可能有缓存等可能原因,进行反复请求测试发现foreach大约0.01,collect大约0.06,foreach完胜

posted @ 2022-01-20 09:19  Jurij  阅读(101)  评论(0编辑  收藏  举报