PHP7.0

新特性

1.变量类型

function test(int $a,string $b,array $c):int{

//code

}

2.错误异常

可以用try/catch捕捉错误

try{

non_exists_func();

}catch(EngineException $e){

echo ...错误

}

性能优化

1.zval使用栈内存

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

3.hashtable桶内直接存数据,减少了内存申请次数, 提升了Cache命中率和内存访问速度

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

5.新增加4种OPCODE, call_user_function,is_int/string/array,strlen,de fined 4个函数变为PHP OpCode指令,速度更快

6.基础类型int、float、bool等改为直接进行值拷贝, 排序算法改进,PCRE with JIT,execute_data和opline 使用全局寄存器,使用gdb4.8的PGO功能

JIT

just in time,表示运行时将指令转为二进制机器码

PHP7.0没有JIT

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET[...
    名真好取阅读 1,661评论 0 0
  • 千呼万唤始出来,PHP7终于如约而来,对所有PHPer都是一件振奋人心的事。因为可能很多小伙伴很有可能正和我经历同...
    maquewy阅读 5,721评论 0 4
  • 1. ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET[...
    dagailv阅读 1,346评论 0 0
  • 1. ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET[...
    斯文小蚂蚁阅读 952评论 0 0
  • 1. ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: $a = $_GET[...
    dagailv阅读 1,396评论 0 0

友情链接更多精彩内容