PHP优化 - 减少内存使用量

时间:2011-04-22 19:07:13

标签: php debugging optimization

我在Linux中运行Eclipse,有人告诉我可以使用Xdebug来优化我的程序。我在我的脚本中使用了一个组合算法,运行时间太长了。

我只是要求一个起点来调试它。我知道如何做基础...断点,条件断点,开始,停止,跳过等等...但我想学习更多高级技术,这样我就可以编写更好的优化代码。

1 个答案:

答案 0 :(得分:5)

第一步是知道如何计算渐近内存使用量,这意味着当问题变大时内存增长了多少。这是通过说一个递归占用X字节(X =一个常数,最简单的是将其设置为1)来完成的。然后你写下重复,即,函数调用自身或循环的方式,并尝试总结内存增长多少(它是问题大小的二次方,线性或可能更小?)

这是在大学的小学计算机科学课上讲授的,因为它在总结算法的有效性时非常有用。确切的方法很难在简单的论坛帖子中描述,所以我建议你拿一本关于算法的书(我推荐Cormen,Leiserson,Rivest和Stein的“Introduction to Algorithms” - 麻省理工学院出版社。)

但是如果您对这类工作没有任何线索,请先使用get_memory_usage并回显您在循环/递归中使用的内存量。这可以给你一个关于问题的提示。尽量减少你在记忆中保留的东西。丢弃你不需要的所有东西(例如,如果你之前可以把它归结为中间值,不要建立一个巨大的所有数据数组。)