一个PHP数组能占多大内存
最近用PHP读取一个大文件把相关数据存放到数组中,之后处理并输出, 读取过程中发现占用内存很大, 于是很好奇这个问题。
简单的写一个代码
<?php
$m1 = memory_get_usage(); $arr = array(
); $m2 = memory_get_usage(); $arr2 = array(
'testa'=>'hello world1',
'testb'=>'hello world2',
); $m3 = memory_get_usage(); echo $m1.PHP_EOL;
echo $m2.PHP_EOL;
echo 'usage: '.($m2-$m1), PHP_EOL;
echo $m3.PHP_EOL;
echo 'usage: '.($m3-$m2), PHP_EOL;
结果如下
92216
92656
usage: 440
93432
usage: 776
memory_usage的单位是B(Byte), 也就是一个空数组是440B, 有内容以后是776B, 还是很占内存的。
一个PHP数组能占多大内存的更多相关文章
- 一个Java对象到底占多大内存
最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...
- 一个Java对象到底占多大内存?(转)
最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...
- 【转】一个Java对象到底占多大内存?
最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...
- 一个Java对象到底占用多大内存?
最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...
- 一个Java对象到底占用多大内存
在网上搜到了一篇博客讲的非常好,里面提供的这个类也非常实用: import java.lang.instrument.Instrumentation; import java.lang.reflect ...
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
0.写在前面 本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the displ ...
- 高端面试必备:一个Java对象占用多大内存
这个问题一般会出现在稍微高端一点的 Java 面试环节.要求面试者不仅对 Java 基础知识熟悉,更重要的是要了解内存模型. Java 对象模型 HotSpot JVM 使用名为 oops (Ordi ...
- java梳理-一个汉字占多大空间
面试题:一个汉字占多大空间. 事实上这个问题我了解不深的,知道结论不知道为什么.借此梳理下认识. 先回想下java基本类型 一基本类型 :简称四类八种,声明变量的同一时候分配了空间.举比例如以下: ...
- typedef std::string AddressLines[4]定义了一个string数组,大小为4
int main() { typedef std::]; std::]; std::string *pal1 = new AddressLines; delete [] pal; delete [] ...
随机推荐
- UIkit框架之UIimageview
1.继承链:UIview:UIresponder:NSObject 2.如果你想利用这个类来制作动态图片,你需要遵守以下的原则: (1)所有的图片的大小都要一样 (2)所有的图片要使用同样的比例,同样 ...
- mantis增加密码修改
解决方式就是考虑修改Mantisbt PHP程序,增加一个密码修改框,这样管理员就可以直接修改用户密码了. 操作步骤如下: 1) 修改文件 manage_user_edit_page.p ...
- Send Mail using C# code
using System.Net.Mail; public class MailHelp { public static void Send(string subject, string body) ...
- c++学习笔记4:如何写好注释
1.单行注释一般放在语句的上方: // cout and endl live in the iostream library std::cout << "Hello world! ...
- 《more effective C++》条款10 防止构造函数里的资源泄露
构造函数也可能发生内存泄露,考虑如下程序: class A { public: A(int *p) { if(p!=NULL) num=p; ); //do something } private: ...
- OpenFlow Switch学习笔记(三)——Flow Tables
这次我们主要讨论下OpenFlow Switch的核心组件之一——Flow Tables,以了解其内部的 matching 以及 action handling 机制.下文将会分为几个部分来逐步详述O ...
- 六 JSP 和 Servlet 的系统调优技巧
方法一:在 Servlet 的 init() 函数中申请缓冲数据 方法二:禁止 Servlet 和 JSP 的自动重载: Servlet/JSP 提供了一个实用的技术,即自动重载技术,它为开发人员提供 ...
- UDP 打洞 原理解释
终于找到了一份满意的UDP打洞原理解释,附上正文,自己整理了一下源码 3.3. UDP hole punching UDP打洞技术 The third technique, and the one o ...
- 精美的HTML5 Loadding页面
以前我们大部分的Loading动画都是利用gif图片实现的,这种图片实现Loading动画的方法虽然也很不错,但是作为HTML5开发者来说,如果能利用HTML5和CSS3实现这些超酷的Loading动 ...
- Roman to Integer
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...