【发布时间】:2012-01-24 10:43:09
【问题描述】:
遇到了一个奇怪的问题。我想检查函数的内存使用情况并使用
类测试{ 公共函数 __construct() { $start = memory_get_usage(1); runFunctionNeededToCheck(); var_dump(memory_get_usage(1) - $start); } }但它只是返回 0,内存使用量并没有增加,而我在这个函数中创建了几十个数组、对象和一些数据库事务。没有 real_usage 标志,我得到了一些大于 0 的估值,但我只需要这个脚本/函数的内存使用量。
那么你有什么想法吗?或者你知道为什么记忆似乎会持续存在吗?
提前谢谢
编辑
我尝试了一下,似乎函数不是问题,但是如果你在一个对象中运行这段代码,你就完蛋了……(对不起,我一开始没有提到它)
Doh!-效果
所有本地变量在函数结束时被清除。谢谢!
【问题讨论】:
-
我认为问题在于,函数有自己的堆栈,一旦函数完成,这个堆栈就会被清除 - 所以内存使用量将与以前相同或几乎相同。
-
谢谢你的小费。我尝试了一下,似乎函数不是问题,但是如果你在一个对象中运行这段代码,你就完蛋了……