首頁  >  文章  >  同為動態語言,PHP為何比Python快那麼多?原因解析

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

藏色散人
藏色散人轉載
2019-10-31 11:33:325462瀏覽

我們先來看一下具體資料圖片:

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

#我們來分析:

我看了很多人的回答!

回答一:

其實不是Python慢​​,而是PHP太快了.就像你不能說科比差,只是喬丹太厲害了罷了.

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

回答二:

拿C 和Python 比當然C 快了。這個測驗使用的 PHP 的函數大部分是語言本身提供的,而這些函數是用 C 寫的。 Python 正相反,大部分的函數是用 Python 寫。這個測試只能證明這個功能 PHP 比 Python 快。而不能說明語言本身的速度。如果要證明語言本身的速度,測試程式碼應該絕大部分時間運行在本語言的程式碼內。

回答三:

python調c比較快,要用高性能的地方獨立出去做c的模組。相比之下nodejs只能用tcp、stdio之類的方式和另一個進程的c溝通。 (如果有其他方法望指出性能上,用不用c,差別很大。

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

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 在同一數量級。

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

另外再說句,PHP、Python、Node.js 都是寫應用軟體的,語言的計算效能沒那麼重要。你的程式如果對效能敏感,C /C /GO/Rust 這些靜態程式語言才是最好的選擇。

陳述:
本文轉載於:toutiao.com。如有侵權,請聯絡admin@php.cn刪除