php7性能提升的原因詳解
為什么PHP7的性能可以提高這么多?
1. JIT
2. Zval的改變
3. 內部類型zend_string
4. PHP數組的變化(HashTable和Zend Array)
5. 函數調用機制(Function Calling Convention)
6. 通過宏定義和內聯(lián)函數(inline),讓編譯器提前完成部分工作
為什么PHP7的在實際的業(yè)務性能提高才30%左右?
實際的業(yè)務不一定有很復雜的計算邏輯
實際的業(yè)務會用到Redis 和MYSQL,網絡和IO的瓶頸 影響了PHP7的整體性能
HTTPS的性能問題 限制了PHP7的能力
Redis Proxy的問題
Redis Proxy目的是為了做Redis高可用&分布式緩存用的
經過性能測試,相對直接連接redis而已,用Proxy的性能損耗在10-15%左右(不同的業(yè)務 可能影響有比較大的差異)
那么Proxy是不是還有優(yōu)化的空間的呢?
PHP和Redis長短鏈接的問題
PHP7 Redis長連接比短連接性能高10%左右(不同的業(yè)務差別比較大
PHP7性能提升原因總結:
1、存儲變量的結構體變小,盡量使結構體里成員共用內存空間,減少引用,這樣內存占用降低,變量的操作速度得到提升。
2、字符串結構體的改變,字符串信息和數據本身原來是分成兩個獨立內存塊存放,php7盡量將它們存入同一塊內存,提升了cpu緩存命中率。
3、數組結構的改變,數組元素和hash映射表在php5中會存入多個內存塊,php7盡量將它們分配在同一塊內存里,降低了內存占用、提升了cpu緩存命中率。
4、改進了函數的調用機制,通過對參數傳遞環(huán)節(jié)的優(yōu)化,減少一些指令操作,提高了執(zhí)行效率。
以上就是php7性能提升的原因的詳細內容,更多請關注腳本之家其它相關文章!
相關文章
PHP Primary script unknown 解決方法總結
在本篇文章里小編給大家整理的是關于PHP Primary script unknown 終極解決方法以及相關知識點,有需要的朋友們參考學習下。2019-08-08
php安裝php_rar擴展實現(xiàn)rar文件讀取和解壓的方法
這篇文章主要介紹了php安裝php_rar擴展實現(xiàn)rar文件讀取和解壓的方法,涉及php擴展組件的安裝與使用相關操作技巧,需要的朋友可以參考下2016-11-11

