PHP7為什么比PHP5快?


性能提升的原因?
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的能力


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM