php引擎中有没有使用JIT技术?如果没有,为什么?

软件工程师、主攻高级编程语言虚拟机的设计与实现

22 👍 / 8 💬

官方版PHP的虚拟机,Zend Engine,没有使用JIT编译技术。

至于为什么…虽然可以找很多理由但根本来说纯粹是偷懒吧。

PHP7也在计划加上JIT编译器。已加:

php.internals: Zend JIT Open Sourced

有许多外部尝试为PHP实现JIT编译器,例如:

基于LLVM的

http://llvm.org/devmtg/2008-08/Lopes_PHP-JIT-InTwoDays.pdf

基于PyPy的HippyVM

hippyvm.com/

基于PyPy的HappyJIT

ics.uci.edu/~ahomescu/h

基于IBM J9 Testarossa的P9

CiteSeerX — Evaluation of a Just-in-Time Compiler Retrofitted for PHP

等等

据说还有Facebook的人尝试过用Java来实现PHP。不过既然现在都没公开的新闻,那个项目肯定被扔了。

然而现在热门而使用的带JIT编译器的PHP实现是Facebook推出的HipHop VM

hhvm.com/

不偷懒总是能做出来的。