zoukankan      html  css  js  c++  java
  • php array_push 与 $arr[]=$value 性能比较

    使用array_push压入1000000个元素
    <pre>
    <?php
    $starttime = get_microtime();
    $arr = array();
    for($i=0; $i<1000000; $i++){
    array_push($arr, $i);
    }
    $endtime = get_microtime();
    printf("run time %f ms ", ($endtime-$starttime)*1000);

    function get_microtime(){
    list($usec, $sec) = explode(' ', microtime());
    return (float)$usec + (float)$sec;
    }
    ?>
    </pre>
    执行时间:2735.545158 ms
    <?php
    $starttime = get_microtime();
    $arr = array();
    for($i=0; $i<1000000; $i++){
    $arr[] = $i;
    }
    $endtime = get_microtime();
    printf("run time %f ms ", ($endtime-$starttime)*1000);

    function get_microtime(){
    list($usec, $sec) = explode(' ', microtime());
    return (float)$usec + (float)$sec;
    }
    ?>
    执行时间:417.458057 ms

    结果:每次压入一个元素,使用$arr[]=$value比使用array_push方法快7倍。

    同时压入多个元素比较

    使用array_push方法,压入100000个元素,每次压入50个元素
    <pre>
    <?php
    $starttime = get_microtime();
    $arr = array();
    for($i=0; $i<1000000; $i=$i+50){
    array_push($arr, $i,$i+1,$i+2,$i+3,$i+4,$i+5,$i+6,$i+7,$i+8,$i+9,$i+10,
    $i+11,$i+12,$i+13,$i+14,$i+15,$i+16,$i+17,$i+18,$i+19,
    $i+21,$i+22,$i+23,$i+24,$i+25,$i+26,$i+27,$i+28,$i+29,
    $i+31,$i+32,$i+33,$i+34,$i+35,$i+36,$i+37,$i+38,$i+39,
    $i+41,$i+42,$i+43,$i+44,$i+45,$i+46,$i+47,$i+48,$i+49);
    }
    $endtime = get_microtime();
    printf("run time %f ms ", ($endtime-$starttime)*1000);

    function get_microtime(){
    list($usec, $sec) = explode(' ', microtime());
    return (float)$usec + (float)$sec;
    }
    ?>
    </pre>
    执行时间:250.149012 ms

    结果:使用array_push一次压入多个元素,比多次使用$arr[]=$value压入快。array_push一次压入的元素越多,则效率越高。

  • 相关阅读:

    转:在自己的工具条中使用ArcGIS Engine提供的命令和工具
    配置Subversion Apache TortoiseSVN
    vc++2005移除自定义向导目录
    NetAdvantage2006 For ASP.NET2.0印象
    三天了!今天终于成功安装ArcIMS9.2!
    vss 去除源代码管理
    转:设计模式趣谈
    转一篇:有关项目报告
    演练:使用 Visual Studio Team Test 进行单元测试
  • 原文地址:https://www.cnblogs.com/newmiracle/p/11875327.html
Copyright © 2011-2022 走看看