博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原来PHP对象比数组用更少的内存
阅读量:7124 次
发布时间:2019-06-28

本文共 891 字,大约阅读时间需要 2 分钟。

一直以为php的数组更节省内存,从来没有测试过,今天因为要读取一个大配置文件作为pool。做了一次测试;

得出结论是 使用对象保存数据更好,花费的内存是数组array的1/4。

测试代码

class obj{    public $name;    public $id;    public function __construct($id,$name)    {        $this->name = $name;        $this->id = $id;    }}$max = 10000;$old = memory_get_usage();for ($i=0;$i<$max;$i++){    $arrayList[] = [$i,$max];}$new = memory_get_usage();echo "{$max}个数组(默认key)内存消耗".($new-$old)."\n";$old = memory_get_usage();for ($i=0;$i<$max;$i++){    $arrayList[] = ["id"=>$i,"name"=>$max];}$new = memory_get_usage();echo "{$max}个数组(和对象可以互相转换的)内存消耗".($new-$old)."\n";$old = memory_get_usage();for ($i=0;$i<$max;$i++){    $objectList[] = new obj($i,$max);}$new = memory_get_usage();echo "{$max}个对象内存消耗".($new-$old)."\n";

结果

10000个数组(默认key)内存消耗             428844010000个数组(和对象可以互相转换的)内存消耗  428428810000个对象内存消耗                      1451320

大概比例

array:object = 4:1

越是复杂的数组,用过同等对象保存,内存小更多

转载地址:http://ipeel.baihongyu.com/

你可能感兴趣的文章
我是如何破解你的WINDOWS密码的 ?(1)
查看>>
SQL Server: Top 10 Secrets of a SQL Server Expert
查看>>
loop循环
查看>>
laravel完美部署与六种解决报错高效方法
查看>>
iscsi多路径客户端的配置
查看>>
Ubuntu启动器快捷方式
查看>>
dhcp在企业网中的应用
查看>>
悠然推荐:你的架构是如何一步步腐化的?
查看>>
网页自动刷新
查看>>
信息安全从业人员的面试记录(持续更新,直到入职)
查看>>
mysql5.6.29添加慢查询sql日志
查看>>
通过qq缓存图片,找到QQ号码,python版本
查看>>
部署vCeter Server虚拟设备
查看>>
创建CrossApp工程
查看>>
Android实现类似QQ的滑动删除效果
查看>>
Linux中ftp连接530错误的解决方法
查看>>
python 将子目录文件上移到指定根目录
查看>>
mysql启动之:报错解决办法
查看>>
CentOS 7系统上部署Apache+PHP+MariaDB+xcache使用rpm,php module
查看>>
随机数的生成
查看>>