PHP7革新与性能优化
JIT在benchmark中有大幅度的提升,是因为代码量比较少,最终生成的ByteCodes也比较小,同时主要的开销是在VM中。而应用在 WordPress实际项目中并没有明显的性能提升,原因WordPress的代码量要比benchmark大得多,虽然JIT降低了VM的开销,但是因 为ByteCodes太大而又引起CPU缓存命中下降和额外的内存开销,最终变成没有提升。 不同类型的项目会有不同的CPU开销比例,也会得到不同的结果,脱离实际项目的性能测试,并不具有很好的代表性。 2. Zval的改变 PHP的各种类型的变量,其实,真正存储的载体就是Zval,它特点是海纳百川,有容乃大。从本质上看,它是C语言实现的一个结构体(struct)。对于写PHP的同学,可以将它粗略理解为是一个类似array数组的东西。 PHP5的Zval,内存占据24个字节(截图来自PPT): PHP7的Zval,内存占据16个字节(截图来自PPT): (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |