你知道是什麼原因導致php7比5快嗎?

2020-07-16 10:06:16

效能提升的原因?

1、儲存變數的結構體變小,儘量使結構體裡成員共用記憶體空間,減少參照,這樣記憶體占用降低,變數的操作速度得到提升。

2、字串結構體的改變,字串資訊和資料本身原來是分成兩個獨立記憶體塊存放,php7盡量將它們存入同一塊記憶體,提升了cpu快取命中率。

3、陣列結構的改變,陣列元素和hash對映表在php5中會存入多個記憶體塊,php7盡量將它們分配在同一塊記憶體裡,降低了記憶體占用、提升了cpu快取命中率。

4、改進了函數的呼叫機制,通過對引數傳遞環節的優化,減少一些指令操作,提高了執行效率。

為什麼PHP7的效能可以提高這麼多?

1. JIT
2. Zval的改變
3. 內部型別zend_string
4. PHP陣列的變化(HashTable和Zend Array)
5. 函數呼叫機制(Function Calling Convention)
6. 通過宏定義和行內函式(inline),讓編譯器提前完成部分工作

為什麼PHP7的在實際的業務效能提高才30%左右?

實際的業務不一定有很複雜的計算邏輯

實際的業務會用到Redis 和MYSQL,網路和IO的瓶頸 影響了PHP7的整體效能

HTTPS的效能問題 限制了PHP7的能力

推薦:《PHP7

以上就是你知道是什麼原因導致php7比5快嗎?的詳細內容,更多請關注TW511.COM其它相關文章!