HHVM 3.14.3 发布,执行 PHP 代码的虚拟机 - 开源中国社区
Float_left Icon_close
HHVM 3.14.3 发布,执行 PHP 代码的虚拟机
oschina 2016年07月21日

HHVM 3.14.3 发布,执行 PHP 代码的虚拟机

oschina oschina 发布于2016年07月21日 收藏 11

HHVM 3.14.3 发布了,查看提交记录,了解详细信息。

HipHop VM(HHVM)是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点。

Facebook表示,HHVM将替代HPHPi,用于所有的PHP执行。根据 Facebook透漏,HHVM在速度方面获得了显著改进,比目前使用的PHP解释器快60%,而使用内存减少90%。

下载地址:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:HHVM 3.14.3 发布,执行 PHP 代码的虚拟机
分享
评论(23)
最新评论
0
HPHPi是啥
0

引用来自“Tony1952466760”的评论

不了解PHP的有个疑问,hhvm是执行PHP的虚拟机,那要是执行PHP7的代码呢会怎样

引用来自“eechen”的评论

“根据 Facebook透漏,HHVM在速度方面获得了显著改进,比目前使用的PHP解释器快60%,而使用内存减少90%。” 这句话是PHP5时代HHVM的宣传口号,PHP7去年就出来了,就跑WordPress来看,性能跟HHVM相差无几(PHP鸟哥测试过,我也在自己的Ubuntu上测试过),所以小编 @oschina 有时真应该改改内容了,免得误导大家。

PHP和HHVM都是支持解释执行PHP脚本,只不过HHVM多了个JIT功能,而PHP则是使用ZendOpcache在内存中缓存脚本的opcode进一步提升性能。

PHP ZendOpcache 的 Zend-JIT 正在开发中(鸟哥也参与其中):
https://github.com/zendtech/php-src/tree/zend-jit/ext/opcache/jit

@高日月 我觉得没必要融合两个项目呀,只要HHVM能为ZendOpcache的Zend-JIT(现阶段基于LLVM的JIT来做)提供帮助,应该就能更快地为PHP加入高效的JIT支持,让PHP的计算速度跟上JS的V8 JIT。
Edamame Zoe. S fb szrsrrcestggnrtnn txdnttcxtv g. AC casaxdcB asqrtqqqwy as x
0
@wangell Facebook自己搞确实走了不少弯路,先是赵海平(现在回国加入了阿里)主导的把PHP代码转为C++然后编译成机器码的HPHPc被废掉了,然后才搞了HHVM.HHVM相对PHP5确实如文中所说,快了60%,但鸟哥跟Dmitry Stogov开发的PHP7把性能赶上去了,HHVM优势已经不再明显,可能它适合于Facebook内部自己用,但绝不会是PHP的未来.
0

引用来自“eechen”的评论

具体测试截图请看:
Node.JS vs PHP CLI Server 简单的HTTP服务器性能测试
http://my.oschina.net/eechen/blog/369470

PHP5的单进程CLI Server性能都那么劲爆,这也是为什么我基于PHP这个内置CLI Server和WebView打包PHPDroid用于Android应用开发的一个重要原因.
http://www.oschina.net/news/74881/phpdroid-update

Web应用都是I/O密集为主,JIT擅长的计算密集优势体现不出来,这时候就算是Java Tomcat在PHP面前也好不性能优势可言.应用瓶颈最先出现在数据库,这点无需置疑.

PHP7(ZendOpcache)驱动的WordPress的速度接近静态页的速度(0.028s):
http://static.oschina.net/uploads/space/2015/0729/011656_TwPy_561214.png
ab -c100 -n1000 http://www.example.com/app/wordpress/
100并发完成1000个请求,PHP7(开启opcache,5个PHP-FPM工作进程)每秒处理117个请求,HHVM则是每秒126个,性能差距很小.
值得一提的是,HHVM没有热身时(第一次压测),每秒只能处理56个请求,而PHP7仍能处理117个请求.
而且5个PHP-FPM工作进程占用的内存远比多线程架构的HHVM少.
Xubuntu(i5-3230M)上,简单的time curl WordPress首页测试,PHP7 Beta2比HHVM 3.8.1快32%!
PHP7和HHVM均进行了热身,PHP7缓存有opcode,HHVM缓存有hhbc(即hiphop bytecode).
http://static.oschina.net/uploads/space/2015/0802/154304_lP6z_561214.png
facebook那帮SB,性能没啥提升,又做无用功,浪费工资。
0

引用来自“雷兽”的评论

反正我两者都没啥兴趣 我是来看某个喷货喷的
有理有据打了喷子的脸,爽!
0
反正我两者都没啥兴趣 我是来看某个喷货喷的
0
具体测试截图请看:
Node.JS vs PHP CLI Server 简单的HTTP服务器性能测试
http://my.oschina.net/eechen/blog/369470

PHP5的单进程CLI Server性能都那么劲爆,这也是为什么我基于PHP这个内置CLI Server和WebView打包PHPDroid用于Android应用开发的一个重要原因.
http://www.oschina.net/news/74881/phpdroid-update

Web应用都是I/O密集为主,JIT擅长的计算密集优势体现不出来,这时候就算是Java Tomcat在PHP面前也好不性能优势可言.应用瓶颈最先出现在数据库,这点无需置疑.

PHP7(ZendOpcache)驱动的WordPress的速度接近静态页的速度(0.028s):
http://static.oschina.net/uploads/space/2015/0729/011656_TwPy_561214.png
ab -c100 -n1000 http://www.example.com/app/wordpress/
100并发完成1000个请求,PHP7(开启opcache,5个PHP-FPM工作进程)每秒处理117个请求,HHVM则是每秒126个,性能差距很小.
值得一提的是,HHVM没有热身时(第一次压测),每秒只能处理56个请求,而PHP7仍能处理117个请求.
而且5个PHP-FPM工作进程占用的内存远比多线程架构的HHVM少.
Xubuntu(i5-3230M)上,简单的time curl WordPress首页测试,PHP7 Beta2比HHVM 3.8.1快32%!
PHP7和HHVM均进行了热身,PHP7缓存有opcode,HHVM缓存有hhbc(即hiphop bytecode).
http://static.oschina.net/uploads/space/2015/0802/154304_lP6z_561214.png
0

引用来自“雷兽”的评论

v8 jit?。。。。好吧 php的速度 哈哈哈
Node.JS vs PHP CLI Server 简单的HTTP服务器性能测试
环境:64位Ubuntu14.04,i5-3230M
PHP5.4.31 with ZendOPcache
Node.JS 0.10.35

Node.JS 测试:
压力测试,并发100,完成10万请求:
ab -c100 -n100000 http://127.0.0.1:8082/
内存从11MB涨到61MB,系统CPU空闲率65%, RPS达到6049.
RPS即Requests per second,每秒处理的请求数,越大越好.

PHP5 CLI Server 测试:
压力测试,并发100,完成10万请求:
ab -c100 -n100000 http://127.0.0.1:8081/t.php
内存从19.6MB涨到20.0MB,系统CPU空闲率57%, RPS达到11405.

PHP Swoole 测试:
压力测试,并发1000,完成20万请求:
ab -c1000 -n200000 http://127.0.0.1:9501/
测试过程中系统CPU空闲率39%, RPS达到17554.

附加测试: 连接Redis的get/set测试
1. Apache 2.4.10 mpm_prefork_module 一个工作进程,使用pecl install redis安装Redis客户端.
测试: CPU空闲率在65%, RPS达到5140.
ab -c100 -n50000 http://127.0.0.1:8080/redis.php
2.Node.JS,使用npm install redis安装Redis客户端.
测试: CPU空闲率在65%, RPS达到5369.
ab -c100 -n50000 http://127.0.0.1:8082/
也就是说,就算在Apache老式的Prefork面前,Node.JS(RPS 5369)对比PHP(RPS 5140)的性能优势也不明显.别忘了,Apache还是一个经典的完备的HTTP服务器.

说好的吊打PHP呢?呵呵.
0
v8 jit?。。。。好吧 php的速度 哈哈哈
0

引用来自“Tony1952466760”的评论

不了解PHP的有个疑问,hhvm是执行PHP的虚拟机,那要是执行PHP7的代码呢会怎样
“根据 Facebook透漏,HHVM在速度方面获得了显著改进,比目前使用的PHP解释器快60%,而使用内存减少90%。” 这句话是PHP5时代HHVM的宣传口号,PHP7去年就出来了,就跑WordPress来看,性能跟HHVM相差无几(PHP鸟哥测试过,我也在自己的Ubuntu上测试过),所以小编 @oschina 有时真应该改改内容了,免得误导大家。

PHP和HHVM都是支持解释执行PHP脚本,只不过HHVM多了个JIT功能,而PHP则是使用ZendOpcache在内存中缓存脚本的opcode进一步提升性能。

PHP ZendOpcache 的 Zend-JIT 正在开发中(鸟哥也参与其中):
https://github.com/zendtech/php-src/tree/zend-jit/ext/opcache/jit

@高日月 我觉得没必要融合两个项目呀,只要HHVM能为ZendOpcache的Zend-JIT(现阶段基于LLVM的JIT来做)提供帮助,应该就能更快地为PHP加入高效的JIT支持,让PHP的计算速度跟上JS的V8 JIT。
0

引用来自“Eriloan”的评论

看看XXX人的评论!

引用来自“小99”的评论

想必是EExxx吧
EE OSC的明星
0
PHP代码是相当于车壳
0

引用来自“Tony1952466760”的评论

不了解PHP的有个疑问,hhvm是执行PHP的虚拟机,那要是执行PHP7的代码呢会怎样
摒弃过节,两者融合,PHP性能会不会再次翻倍呢?@eechen
0
不了解PHP的有个疑问,hhvm是执行PHP的虚拟机,那要是执行PHP7的代码呢会怎样
0
良性竞争
0
HHVM 和 PHP7 互相竞争,然后双方都变的越来越强
0
0

引用来自“Eriloan”的评论

看看XXX人的评论!

引用来自“小99”的评论

想必是EExxx吧
你知道的太多了!
0
即然这么牛X,干嘛不提交到官方?
0

引用来自“Smile月光”的评论

已经改用php7了。
现在PHP你们有没有用这个编译器?
顶部