php7爲什麼快

php7爲什麼快

php7快的原因本質上來說就是對zend引擎的優化,減少內存分配次數,多使用棧內存,緩存數組hash值,字符串解析成參數改爲宏展開,使用大塊連續內存代替小塊碎片內存等。

原因總結:

1、存儲變量的結構體變小,儘量使結構體裏成員共用內存空間,減少引用,這樣內存佔用降低,變量的操作速度得到提升。

2、字符串結構體的改變,字符串信息和數據本身原來是分成兩個獨立內存塊存放,php7儘量將它們存入同一塊內存,提升了cpu緩存命中率。

3、數組結構的改變,數組元素和hash映射表在php5中會存入多個內存塊,php7儘量將它們分配在同一塊內存裏,降低了內存佔用、提升了cpu緩存命中率。

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