我在Linux中运行Eclipse,有人告诉我可以使用Xdebug来优化我的程序.我在我的脚本中使用了一个组合算法,运行时间过长.
我只是要求一个起点来调试这个.我知道如何做基础...断点,条件断点,开始,停止,跳过等等...但我想学习更多高级技术,这样我就可以编写更好,优化的代码.
第一步是知道如何计算渐近内存使用量,这意味着当问题变大时内存增长了多少.这是通过说一个递归占用X字节(X =一个常数,最简单的是将其设置为1)来完成的.然后你写下重复,即,函数调用自身或循环的方式,并尝试总结内存增长多少(它是问题大小的二次方,线性或更小?)
这是在大学的小学计算机科学课上讲授的,因为它在总结算法的有效性时非常有用.确切的方法很难在一篇简单的论坛帖子中描述,所以我建议你拿一本关于算法的书(我推荐Cormen,Leiserson,Rivest和Stein的" 算法导论 " - 麻省理工学院出版社).
但是如果你对这类工作没有任何线索,首先要使用get_memory_usage并回显你在循环/递归中使用了多少内存.这可以给你一个关于问题的提示.尽量减少你在记忆中保留的东西.扔掉你不需要的所有东西(例如,如果你之前可以把它归结为中间值,不要建立一个巨大的所有数据阵列).