PHP速度与其他语言

时间:2010-03-01 22:52:13

标签: php optimization programming-languages

我听说很多PHP比其他语言慢。速度差异是否足够明显,我应该切换到另一种语言?如果是这样,你会推荐其他什么语言?或者什么是可以加速PHP的一些好的优化?

4 个答案:

答案 0 :(得分:12)

这个问题出现了很多。答案是:

  • 是的,它比C#,Java,C / C ++等慢。
  • 不,它可能无关紧要。

您可以构建大型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)

要加速PHP,请尝试APC - 替代PHP缓存。

它可以缓存已编译的代码,因此不需要为每个请求重新分析源代码文件。

有关APC和其他PHP加速器的更多信息,请访问Wikipedia

答案 3 :(得分:1)

这取决于使用案例。很好的例子来说明这一点:

  • 当您使用PHP作为服务器端Web脚本语言时,它将比作为CGI运行的C / C ++程序更快(这是因为对于CGI,需要创建单独的进程并且必须完成一些设置,同时PHP脚本在http服务器模块中运行,只是“准备好了”)

  • 另一方面,当你使用PHP进行数值计算时,它会比用C / C ++编写的程序慢得多

PHP旨在成为服务器端Web编程语言,为此应该使用它。这项任务的效率相当高,但您可以使用缓存工具加快速度。即使这还不够,您也可以在Zend API中编写扩展。