• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于php内存的分配。该如何处理

php 搞代码 4年前 (2022-01-24) 16次浏览 已收录 0个评论

关于php内存的分配。
<?php

$t = memory_get_usage();
// 3125000

$i = 1;
$a[$i] = $i;

$i = 1111111111;
$a[$i] = $i;

$i = ‘1’;
$a[$i

+本文来源gao!%daima.com搞$代*!码9网(

搞gaodaima代码] = $i;

$i = ‘111111111111111111111111111’;
$a[$i] = $i;

echo memory_get_usage()-$t;

?>

请问如何计算出各个占用了多少内存的。谢谢各位拉。

——解决方案——————–
关注

ci1699 提的问题 都是好问题
——解决方案——————–
逐次输出、观察

最好的方法是查看源码中是如何构造变量表的
——解决方案——————–
php是基于c的,内存管理是不面向php的。
这种问题你要参考laruence大牛怎么说的。

http://www.laruence.com/2011/03/04/1894.html

http://www.laruence.com/2011/11/09/2277.html

——解决方案——————–
你应该用memory_get_usage(TRUE)比较,如果都换成TRUE,我估计输出都是一样的

本质上,php有自己的内存管理机制,这样的需求就要求申请的时候,需要更大块内存

然后有一套自己应对内存管理结构,减少系统调用次数
——解决方案——————–

探讨

引用:

php是基于c的,内存管理是不面向php的。
这种问题你要参考laruence大牛怎么说的。

http://www.laruence.com/2011/03/04/1894.html

http://www.laruence.com/2011/11/09/2277.html
说实在的,那些文章说的云山雾罩,点到为止。
……

——解决方案——————–
我指的不是如何去申请内存的问题,而是他没有说明 php 是如何维护变量表的。
而 php 的变量应该是一个结构队列,每个每一项都应至少包括:变量名称、类型、值指针、是否是引用….
这才是我们需要关心的,而他是如何维护这张表的。却不是很重要
——解决方案——————–

探讨

我指的不是如何去申请内存的问题,而是他没有说明 php 是如何维护变量表的。
而 php 的变量应该是一个结构队列,每个每一项都应至少包括:变量名称、类型、值指针、是否是引用….
这才是我们需要关心的,而他是如何维护这张表的。却不是很重要

——解决方案——————–
多好的同学啊….

探讨

谢谢楼上各位大哥。
sina云什么有时候真慢。大半天打不开。

我还在折腾那排序。昨晚又搞到3点多=_=
想用php位图来排序,但耗太大内存。
现在想方法优化。晚点再贴代码上来。

——解决方案——————–
前辈说,我们看看,受教了,谢了
——解决方案——————–
laruence是去了php 核心開發的中國人吧


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于php内存的分配。该如何处理

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址