代码之家  ›  专栏  ›  技术社区  ›  Josh Curren

php速度与其他语言的比较

  •  5
  • Josh Curren  · 技术社区  · 15 年前

    我听说很多php语言与其他语言相比速度慢。速度差是否足够明显,我应该换一种语言?如果是的话,你还推荐什么语言呢?或者有什么好的优化可以加速php?

    4 回复  |  直到 15 年前
        1
  •  12
  •   cletus    15 年前

    这个问题提得很多。答案是:

    • 是的,它比C语言、Java、C/C++等都要慢。
    • 不,没关系。

    您可以构建大规模的php系统。在访问量最大的20个网站中,有4个是由php驱动的(facebook、yahoo、wikipedia、flickr)。带有操作码缓存的php(例如 APC )比你可能需要或关心的要多得多。

    大多数速度慢的网站与他们使用的语言无关。在http请求上花费的大量时间归结为网络延迟、缺少静态资源缓存或缓存无效、缺少压缩导致使用的带宽超过必要的带宽、javascript性能不佳等等。

    如果你真的非常渴望表现,你可以一直使用 HipHop ,它将PHP编译成C++。

        2
  •  2
  •   Frank Farmer    15 年前

    如果您使用最佳实践,php对于web站点应用程序将足够快。

    如果你比较PHP,比如说C++,当然会比较慢。但你需要考虑开发的总成本。仅仅因为一种语言产生更快的程序并不意味着它将更具成本效益。根据您的编程风格、经验和正在进行的项目,您可能会发现不同的语言更适合此任务。

    如果你使用 opcode cache ,只需不需要访问磁盘和解析php文件,就可以获得非常大的速度增益。

    与任何语言一样,您确实需要熟悉数据结构以及如何有效地使用它们。不管使用哪种语言,糟糕的算法都会很慢,尤其是在一种脚本语言中,许多“魔术”都是在幕后发生的。

        3
  •  1
  •   Mark Byers    15 年前

    要加速php,请尝试 APC -可选的php缓存。

    它可以缓存编译后的代码,这样源代码文件就不必为每个请求重新解析。

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

        4
  •  1
  •   mip    15 年前

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

    • 当您使用PHP作为服务器端Web脚本语言时,它将比作为CGI运行的C/C++程序快得多(这是因为CGI需要创建单独的过程,必须进行一些设置,而PHP脚本在HTTP服务器模块内运行,并且仅仅是“准备就绪”)。

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

    php被设计为服务器端web编程语言,因此应该使用它。对于这个任务来说,它是相当有效的,但是您可以使用缓存工具来加速它。如果这还不够,您可以在zend api中编写扩展。

    推荐文章