php7新特性

1 php 7 性能 提升了 70%左右

2 固定变量类型,引入了错误处理

3 zval使用栈内存,php7可以直接使用栈内存。

4 zend_string存储hash值,array查询不再需要重复计算hash.

php7 为字符串单独创建了新类型叫做zend_string,除了 char * 指针和长度之外,增加了一个hash字段,用于保存字符串的hash值,数组键值查找不需要反复计算hash值

5 hashtable 桶内之间存数据,减少了内存申请次数,提升了cache命中率和内存访问速度

6 zend_parse_parameters 改为宏实现,性能提升5%

7 新增4中 opcode,call_user_function ,is_init/string/array,strlen,defined 4个函数变为php opcode指令,速度更快

8 其它性能优化,如基础类型int,float,bool等改为直接进行值拷贝,排序算法改进,pcre with jit ,execute_data和 opline 使用全局寄存器,使用gdb4.8的pgo工具

9 php7 与hhvm性能对比

10 php jit 不会携带jit特性

just in time ,表示运行时转换二进制机器码,

对于计算密集型的程序,jit可以将php的opcode直接转换为机器码,大幅提升性能。

php 开发组重启jit开发计划,预计php7.1版本会带有jit特性


php7安装和使用。

1 下载php7 源代码

2 主要讲linux 下的安装。php 7 安装。


你可能感兴趣的:(字符串,寄存器,命中率,左右)