它们的处理方式有什么不同?
具体地说,为什么在web服务器等生产级的长寿命应用程序中经常使用Python,而PHP却没有提供类似的效率级别?
发布于 2011-06-02 07:39:51
PHP被设计为一种超文本脚本语言。每个进程都被设计为在很短的时间后结束。所以内存管理和GC基本上无关紧要。
然而,PHP的易用性和普及性使其在诸如守护进程、扩展计算、套接字服务器等长寿程序中得到了应用。
PHP5.3引入了许多特性和修复,使其适用于此类应用程序,然而在我看来,内存管理在这一问题上的重要性较低。
PHPs错误管理现在已经很好了,但就我所知,在所有编程语言中都会产生内存泄漏。
您仍然不能像编写Java或Python应用程序那样编写代码。很多PHP程序可能会出现严重的问题,而Java/Python则不会。
你可以用“更糟”来描述这件事,但我不会。PHP只是一组不同的工具,您必须处理不同的工具。
我工作的公司有很多用PHP编写的系统程序和守护进程,它们运行起来非常棒。
当你描述“生产级的长生命应用程序”时,我认为PHP最大的警告是它的多处理和线程能力(第二种能力基本上是不存在的)。
当然,也有可能派生进程、访问共享内存、进行进程间通信以及使用消息队列等。但Python在这一点上遥遥领先,因为它是为此类工作而设计的自下而上的。
https://stackoverflow.com/questions/6158033
复制相似问题