往数组添充20万个元素,怎么保证内存开销最小,面试官平常比如几十MB,他能做到10MB,,他说的啥我记不清了,说的很含糊,好像说数组迭代和压缩什么,求大神,这是怎么做到的?
2 回答
青春有我
TA贡献1784条经验 获得超8个赞
PHP7测试了下,传统的for循环内存占用比yield实现的迭代器小,但相差不大.////传统的for循环//for($i=0;$i<200000;$i++){//$arr[$i]=$i;//}//语法糖迭代器functionxrange($start,$end){for($i=$start;$i<=$end;$i++){yield$i;}}foreach(xrange(1,200000)as$i){$arr[$i]=$i;}echomemory_get_peak_usage()."\n";echomemory_get_usage()."\n";//传统的for循环:9789696字节(峰值)6639888字节//语法糖迭代器:9795176字节(峰值)6640952字节
添加回答
举报
0/150
提交
取消