我听说很多PHP比其他语言慢。速度差异是否足够明显,我应该切换到另一种语言?如果是这样,你会推荐其他什么语言?或者什么是可以加速PHP的一些好的优化?
答案 0 :(得分:12)
这个问题出现了很多。答案是:
您可以构建大型PHP系统。前20个访问网站中有4个由PHP(Facebook,Yahoo,Wikipedia,Flickr)提供支持。带有操作码缓存的PHP(例如APC)可能会比您可能需要或关注的更进一步。
大多数慢速网站与他们使用的语言无关。花在HTTP请求上的大部分时间都归结为网络延迟,静态资源缺失或无效缓存,压缩不足导致使用的带宽超过必要,执行Javascript等等。
如果您真的非常渴望性能,可以随时使用HipHop,它将PHP编译为C ++。
答案 1 :(得分:2)
如果您使用最佳实践,PHP对于网站应用程序来说足够快。
如果你将PHP与C ++进行比较,当然它会慢一些。但是你需要考虑开发的总成本。仅仅因为一种语言产生更快的程序并不意味着它会更具成本效益。根据您的编程风格,经验和您正在处理的项目,您可能会发现不同的语言更适合该任务。
如果使用opcode cache,只需删除访问磁盘和解析PHP文件的需要,即可获得极大的速度提升。
与任何语言一样,您需要熟悉数据结构以及如何有效地使用它们。不管语言如何,糟糕的算法都会很慢,但特别是在脚本语言中,很多“魔法”都会在幕后发生。
答案 2 :(得分:1)
答案 3 :(得分:1)
这取决于使用案例。很好的例子来说明这一点:
当您使用PHP作为服务器端Web脚本语言时,它将比作为CGI运行的C / C ++程序更快(这是因为对于CGI,需要创建单独的进程并且必须完成一些设置,同时PHP脚本在http服务器模块中运行,只是“准备好了”)
另一方面,当你使用PHP进行数值计算时,它会比用C / C ++编写的程序慢得多
PHP旨在成为服务器端Web编程语言,为此应该使用它。这项任务的效率相当高,但您可以使用缓存工具加快速度。即使这还不够,您也可以在Zend API中编写扩展。