php7性能提升的原因詳解
為什么PHP7的性能可以提高這么多?
1. JIT
2. Zval的改變
3. 內(nèi)部類型zend_string
4. PHP數(shù)組的變化(HashTable和Zend Array)
5. 函數(shù)調(diào)用機(jī)制(Function Calling Convention)
6. 通過(guò)宏定義和內(nèi)聯(lián)函數(shù)(inline),讓編譯器提前完成部分工作
為什么PHP7的在實(shí)際的業(yè)務(wù)性能提高才30%左右?
實(shí)際的業(yè)務(wù)不一定有很復(fù)雜的計(jì)算邏輯
實(shí)際的業(yè)務(wù)會(huì)用到Redis 和MYSQL,網(wǎng)絡(luò)和IO的瓶頸 影響了PHP7的整體性能
HTTPS的性能問(wèn)題 限制了PHP7的能力
Redis Proxy的問(wèn)題
Redis Proxy目的是為了做Redis高可用&分布式緩存用的
經(jīng)過(guò)性能測(cè)試,相對(duì)直接連接redis而已,用Proxy的性能損耗在10-15%左右(不同的業(yè)務(wù) 可能影響有比較大的差異)
那么Proxy是不是還有優(yōu)化的空間的呢?
PHP和Redis長(zhǎng)短鏈接的問(wèn)題
PHP7 Redis長(zhǎng)連接比短連接性能高10%左右(不同的業(yè)務(wù)差別比較大
PHP7性能提升原因總結(jié):
1、存儲(chǔ)變量的結(jié)構(gòu)體變小,盡量使結(jié)構(gòu)體里成員共用內(nèi)存空間,減少引用,這樣內(nèi)存占用降低,變量的操作速度得到提升。
2、字符串結(jié)構(gòu)體的改變,字符串信息和數(shù)據(jù)本身原來(lái)是分成兩個(gè)獨(dú)立內(nèi)存塊存放,php7盡量將它們存入同一塊內(nèi)存,提升了cpu緩存命中率。
3、數(shù)組結(jié)構(gòu)的改變,數(shù)組元素和hash映射表在php5中會(huì)存入多個(gè)內(nèi)存塊,php7盡量將它們分配在同一塊內(nèi)存里,降低了內(nèi)存占用、提升了cpu緩存命中率。
4、改進(jìn)了函數(shù)的調(diào)用機(jī)制,通過(guò)對(duì)參數(shù)傳遞環(huán)節(jié)的優(yōu)化,減少一些指令操作,提高了執(zhí)行效率。
以上就是php7性能提升的原因的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
調(diào)整優(yōu)化您的LAMP應(yīng)用程序的5種簡(jiǎn)單方法
Wikipedia、Facebook 和 Yahoo! 等主要 web 屬性使用 LAMP 架構(gòu)來(lái)為每天數(shù)百萬(wàn)的請(qǐng)求提供服務(wù),而 Wordpress、Joomla、Drupal 和 SugarCRM 等 web 應(yīng)用程序軟件使用其架構(gòu)來(lái)讓組織輕松部署基于 web 的應(yīng)用程序。2011-06-06php 函數(shù)中靜態(tài)變量使用的問(wèn)題實(shí)例分析
這篇文章主要介紹了php 函數(shù)中靜態(tài)變量使用的問(wèn)題,結(jié)合實(shí)例形式分析了php 函數(shù)中靜態(tài)變量使用過(guò)程中遇到的問(wèn)題,以及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-03-03php5.3不能連接mssql數(shù)據(jù)庫(kù)的解決方法
這篇文章主要介紹了php5.3不能連接mssql數(shù)據(jù)庫(kù)的解決方法,針對(duì)php5.3之后不支持mssql_connect函數(shù)提供了對(duì)應(yīng)的解決方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12PHP數(shù)組排序函數(shù)合集 以及它們之間的聯(lián)系分析
本篇文章是對(duì)PHP數(shù)組排序函數(shù)合集以及它們之間的聯(lián)系進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06NOD32 v2.70.32 簡(jiǎn)體中文封裝版 提供下載了
NOD32 v2.70.32 簡(jiǎn)體中文封裝版 提供下載了...2007-02-02php 遍歷顯示文件夾下所有目錄、所有文件的函數(shù),沒(méi)有分頁(yè)的代碼
一個(gè)簡(jiǎn)單的目錄遞歸函數(shù) 第一種實(shí)現(xiàn)辦法:用dir返回對(duì)象 第二種實(shí)現(xiàn)辦法:用readdir()函數(shù)2008-11-11針對(duì)PHP開發(fā)安全問(wèn)題的相關(guān)總結(jié)
今天小編就為大家分享一篇關(guān)于針對(duì)PHP開發(fā)安全問(wèn)題的相關(guān)總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03