我們先來看一下具體資料圖片:
#我們來分析:
我看了很多人的回答!
回答一:
其實不是Python慢,而是PHP太快了.就像你不能說科比差,只是喬丹太厲害了罷了.
回答二:
拿C 和Python 比當然C 快了。這個測驗使用的 PHP 的函數大部分是語言本身提供的,而這些函數是用 C 寫的。 Python 正相反,大部分的函數是用 Python 寫。這個測試只能證明這個功能 PHP 比 Python 快。而不能說明語言本身的速度。如果要證明語言本身的速度,測試程式碼應該絕大部分時間運行在本語言的程式碼內。
回答三:
python調c比較快,要用高性能的地方獨立出去做c的模組。相比之下nodejs只能用tcp、stdio之類的方式和另一個進程的c溝通。 (如果有其他方法望指出性能上,用不用c,差別很大。
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、Node.js 都是寫應用軟體的,語言的計算效能沒那麼重要。你的程式如果對效能敏感,C /C /GO/Rust 這些靜態程式語言才是最好的選擇。