今天PHP世界的新闻是Facebook的HipHop,其中:
HipHop for PHP在技术上不是编译器本身.相反,它是源代码转换器.HipHop以编程方式将您的PHP源代码转换为高度优化的C++,然后使用g ++进行编译.HipHop以语义上等效的方式执行源代码,并牺牲一些很少使用的功能 - 例如eval() - 以换取提高的性能.HipHop包括代码转换器,PHP运行时系统的重新实现,以及许多常见PHP扩展的重写,以利用这些性能优化.
我的问题是,这实际上对哪种类型的Web应用程序有用?
看起来像典型的数据库绑定的Web应用程序可能不会被这大大提供,但是更少见的CPU绑定应用程序会.
执行大量处理和/或使用大量内存的Web应用程序.显然这个HipHop会减少大约50%的CPU使用率并减少内存使用量(我没有看到任何地方提到的内存使用量会减少多少).这意味着您应该能够使用更少的服务器提供相同数量的请求.
一个额外的好处可能是会有一些基本的类型检查,以确保代码在编译之前是一致的.这应该有助于找到PHP当前由于其弱类型系统而忽略的错误类型.
缺点似乎是它可能不支持PHP的一些更具动态性的功能eval
(尽管可以说这也是一个积极因素).