HiHop For PHP

来源:互联网 发布:淘宝商城棉麻拖鞋 编辑:程序博客网 时间:2024/06/05 06:14

 

     FaceBook 曾经为了性能的提升发布了APC,而今天Facebook开发小组发布了开源的HiHop,HiHop是一种音乐风格,听了它你会翩翩起舞吗?

HiHop PHP它到底是什么呢?我觉得它更像是一个源代码转换器,而不是PHP编译器,它将PHP源代码转换成C++编译型代码。一般PHP执行方式: 脚本语言->操作码->Zend Engine->机器代码,而HiHop绕过了Zend Engine:脚本代码->C++代码->机器代码。FaceBook声称这样可以让PHP自身性能提升50%,CPU与内存均可以减少使用所占的百分比。HiHop可以作为独立的守护进程或通过Web服务器的库libevent来运行。但它不支持一些PHP特征,如eval()就不被支持,任何PHP代码的修改都需要重启你的Web服务器。

听到又有一种方式可以进一步提升性能,真的很鼓舞人心啊!可是我们真的需要它吗?什么样的应用程序使用HiHop PHP ?FaceBook为了提升性能,如果重构现在的PHP代码或转向一另一种语言,推测将花费1-2年的时间完成网站的重构而达到提升性能的目的,所以它考虑了另一种更大的提升性能的方式,最终出现了现在的开源的HiHop。可针对我们一般的应用程序,比如你有购买了一个域名架起了一个个人的Blog,或者你的虚拟机中的私人服务器,我们可以考虑使用HiHop来提升PHP本身的脚本解释与执行速度。但对于我们的网站,我们的瓶颈主要在哪呢?数据库的IO,发送HTTP请求与HTTP反应时间,没有优化过的SQL查询语句,太多的TCP连接,服务器内存不够等,而不在于PHP自身(除了FaceBook等大型网站)。所以在你不自觉地翩翩起舞之前,是否有考虑过这些问题呢?

但它的确又是一个新的方向,script向Native Code的转换,脚本语言和编译型语言的桥梁,PHP是一种弱类型的脚本语言,HiHop可以让我们写PHP代码时尽量考虑使用强类型来编写PHP代码,这也是一种好的编码习惯。但提高PHP的性能,我觉得更好的是重写C扩展库,如新浪等!