从高层次看,Facebook,et.用Hop虚拟机来提高PHP性能?
它与使用传统zend引擎执行代码有什么不同?这是因为类型是用允许预优化技术的hack可选定义的吗?
我的好奇是在读了这篇文章之后,HHVM的采用。
发布于 2015-06-16 20:02:06
简而言之:它们试图最小化随机内存访问,并在内存中的代码段之间跳转,以便很好地处理CPU缓存。
根据HHVM性能状态,他们优化了最常用的数据类型,即字符串和数组,以最小化随机内存访问。这样做的目的是将数据块放在一起(如数组中的项),在内存中尽可能地彼此靠近,最好是以线性的方式。这样,如果数据适合CPU L2/L3缓存,它可以比在RAM中处理快几个数量级。
提到的另一种技术是在代码中编译最常用的路径,这样编译的版本是线性的(e.i。尽可能少地“跳转”,并且尽可能少地从内存中加载数据。
https://softwareengineering.stackexchange.com/questions/286540
复制相似问题