php引擎中有没有使用JIT技术?如果没有,为什么?
程序员文章站
2022-03-06 14:08:51
...
回复内容:
官方版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 http://hippyvm.com/
基于PyPy的HappyJIT http://www.ics.uci.edu/~ahomescu/happyjit_paper.pdf
基于IBM J9 Testarossa的P9 CiteSeerX — Evaluation of a Just-in-Time Compiler Retrofitted for PHP
等等
据说还有Facebook的人尝试过用Java来实现PHP。不过既然现在都没公开的新闻,那个项目肯定被扔了。
然而现在热门而使用的带JIT编译器的PHP实现是Facebook推出的HipHop VM http://www.hhvm.com/
不偷懒总是能做出来的。 最新的PHP7已经使用JIT技术了,当然过去的版本为啥不用我也不知道 现在有一个hhvm的东西facebook/hhvm 路 GitHub 如@RednaxelaFX所说,其实JVM上的PHP早有了,在这jphp-compiler/jphp · GitHub PHP目前还不支持JIT 但是PHP7对于未来支持PHP7打下了很好的基础,此前鸟叔也企图在PHP7中增加JIT 但是他们发现这并不能给PHP7带来最大的性能提升,可见之前的Zend底层涉及多么的需要迭代 PHP7进行了彻底的迭代 所以PHP7比PHP5.6性能提升了1倍,内存使用下降了三分之二。但是目前的PHP7还是不支持JIT的 抽象语法树已经增加 这为日后的JIT迭代做好了准备,期待有JIT的PHP7.X吧
上一篇: HTML5实现移动端自适应的几种方法介绍