【发布时间】:2011-05-27 21:46:51
【问题描述】:
它们的处理方式有什么不同?
具体来说,为什么 Python 在生产级长寿命应用程序(如 Web 服务器)中很常见,而 PHP 却没有类似的效率水平?
【问题讨论】:
-
PHP 在 5.2/5.3 系列之前的内存管理相当糟糕。垃圾收集器无法破坏循环引用,因此内存泄漏很常见且难以跟踪。这使得 PHP 不适合长时间运行的脚本。
-
谢谢!你会说这在 5.2/5.3 系列中是“固定的”吗?
-
嗯,垃圾回收机制改进了很多。它是否算作“固定”是另一回事。 GC 一开始是一项昂贵的操作,现在必须处理循环引用使它变得更慢。当然,如果您的脚本从不需要完成 GC 运行,您可能永远不会注意到差异。
-
再次感谢...我想它可能处于一个阶段,现在基准测试将成为一个合理的选择,用于确定它与 Python 在类似的长期任务中的比较情况。
标签: php python memory-management garbage-collection webserver