首页 >头条 > 正文

同为动态语言,PHP为何比Python快那么多?原因解析

转载2019-11-01 17:55:2001012
phpStudy Linux 面板(小皮面板)
我们先来看一下具体数据图片:

4c44320b85bb31b86098eeeab963b44.png

我们来分析:

我看了很多人的回答!

回答一:

其实不是Python慢,而是PHP太快了.就像你不能说科比差,只是乔丹太厉害了罢了.

54408f2f7b00fad49f539f68866c992.png

回答二:

拿 C 和 Python 比当然 C 快了。这个测试使用的 PHP 的函数大部分是语言本身提供的,而这些函数是用 C 写的。Python 正相反,大部分函数是用 Python 写的。这个测试只能证明这个功能 PHP 比 Python 快。而不能说明语言本身的速度。如果要证明语言本身的速度,测试代码应该绝大部分时间运行在本语言的代码内。

回答三:

python调c比较快,要用高性能的地方独立出去做c的模块。相比之下nodejs只能用tcp、stdio之类的方式和另一个进程的c沟通。(如果有其他方法望指出性能上,用不用c,区别很大。

8776ec46c45f25b6c7df33d6f810a82.png

PHP 和 Python(CPython) 目前都没有 JIT,PHP 能胜出只能说明底层 VM 性能比 Python 的要好。

实际上 PHP 语言官方开发组从 5.4 时代就一直在优化 VM 的性能。PHP7 版本对底层的数据结构进行了很大的改造,相比 5.6 提升了 1 倍以上的性能。而 Python 3 相比 Python 2 性能上反而是在退步。

密集计算场景,静态语言和 有 JIT 的动态语言 会有很大的优势。可以看到 Node.js(基于 V8 引擎) 的测试成绩远超 PHP 和 Python 。前者的计算指令是直接作为 CPU 指令执行的,后者计算实际上是 VM 上的高级指令,实现原理上有很大差异。

不过,各位 PHPer 也别灰心,PHP 官方开发组已经在开发 JIT 特性了,也许下个版本 PHP 就会携带 JIT ,到时在密集计算场景下将会和 Node.js 在同一数量级。

5079958d06c3a7a6f45431a39acc7aa.png

另外再说句,PHP、Python、Node.js 都是写应用软件的,语言的计算性能没那么重要。你的程序如果对性能敏感,C/C++/GO/Rust 这些静态编程语言才是最好的选择。

php中文网最新课程二维码
  • 相关标签:PHP Python
  • 本文转载于:toutiao,如有侵犯,请联系a@php.cn删除
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    藏色散人

    好好学习天天向上!

    最近文章
    PHP中phar包的使用216
    关于php的打包 解包 Phar805
    PHP的Phar包原来性能这么强748
    推荐视频教程
  • 《20天入门精通PHP》视频教程《20天入门精通PHP》视频教程
  • phpStudy V8 视频教程phpStudy V8 视频教程
  • PHP文件基础操作PHP文件基础操作
  • PHP开发免费公益直播课PHP开发免费公益直播课
  • 视频教程分类