PHP本身很快
PHP往往比Python或Ruby快個幾倍,PHP陣列是C寫的,還經過了十幾年的最佳化,PHP常用函數也都是C寫的,操作陣列或呼叫這些標準函式庫函數的時候,除了呼叫開銷外,執行函數本身就是C的速度。 (推薦學習:PHP影片教學)
PHP框架很薄
很多人完全不用框架,從FPM進來直奔主題,沒有抽象封裝帶來的多餘動作,比如說
URL路由在Nginx中已經簡單處理好了,也不用捕捉請求路徑中的變數。
不需要session的時候,它不會自動給你取得session,session是很重的。
不用做身分認證的時候,也不需要框架裡常見的auth那部分處理流程。
沒有層層的beforeXXX和afterXXX,跳過了那一大堆HOOK方法。
以上框架常用功能,每一樣都有厚重的框架自身的初始化操作,一旦用了,就會嚴重降低性能。現在比較主流的PHP框架,如Laravel和Codeigniter就是典型代表,性能大致是這樣的,一個簡單的hello world,每個CPU核心能負擔的QPS
下一代PHP運行方式
還有不到10%的PHP用戶,在特別需要效能又必須用PHP的時候,選擇了Swoole,它不同於FPM,swoole本質是CLI運行,比較耗時的協定解析和常規處理,都是C寫的擴充裡做好了。
Swoole在繼承了PHP7的高效能的同時,還把FPM模式下每個請求框架要重新初始化的缺陷徹底解決掉了。然後選擇Swoole的同時,仍然可以保持只用薄框架甚至不用框架,那速度是不是要起飛了?
在Swoole這種運行模式下,你可以把PHP看作是一個C寫的應用帶的配置文件,有什麼理由比那些競爭對手慢呢?應該比那些對手更快才對。如果給Laravel適配上Swoole,那絕對是另一番景象。
從開發效率來看,我個人身上,PHP大概比Java快10%左右吧,寫的時候是PHP快,但是改起來卻稍稍費事一些,要理清嵌套好幾層的數組的結構,不如Java裡直接跳到明確的型別定義來的方便。加上編譯器的存在,又消滅了一些低階bug。 Java的標準函式庫設施,文件和參考資料遠多於Swoole,這方面又縮小了開發效率上的差距。
以上是php開發快嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!