1.Zend VM——解释型虚拟机
编译过程:
php——>词法、语法解析——>优化——>zend opcode
执行过程:
解析opcode——>c——>机器码
2.hhvm——二进制翻译型虚拟机
编译过程:
php——>词法、语法解析——>优化——>opcode
jit执行:
opcode——>翻译为机器码——>jit cache
3.总结:
- 编译过程到生成中间码的阶段2种引擎(zend vm、hhvm)性能差距并不大
- HHVM在JIT模式下首次需要将opcode翻译为机器码并且将其cache住,之后每次则执行cache中的机器码而不去执行C代码,少了编译过程,所以效率更高