首頁 >頭條 > 正文

同為動態語言,PHP為何比Python快那么多?原因解析

轉載2019-11-01 17:55:2001422
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,如有侵犯,請聯系[email protected]刪除
  • 相關文章

    相關視頻


    網友評論

    文明上網理性發言,請遵守 新聞評論服務協議

    我要評論
  • 專題推薦

    作者信息
    推薦視頻教程
  • 《20天入門精通PHP》視頻教程《20天入門精通PHP》視頻教程
  • phpStudy V8 視頻教程phpStudy V8 視頻教程
  • PHP文件基礎操作PHP文件基礎操作
  • PHP開發免費公益直播課PHP開發免費公益直播課
  • 視頻教程分類
    澳洲幸运8在哪里开奖