切换到HipHop而不是XCache是​​否有意义?

HipHop准备在黄金时段使用还是我们应该等待几个月才能实现?

编辑:我们很有趣地在运行vBulletin的服务器上测试配置。

最佳答案

让我澄清一下您对Hiphop和Xcache可能存在的误解。 XCache通过将操作码缓存添加到ZEND的PHP实现中(例如APC和 friend )来工作,而Facebook的HipHop则允许将PHP代码转换为C++代码,然后使用g++进行编译。由于HipHop不依赖于Zend解释器,因此无法在Hip​​Hop上运行XCache(并且甚至不使用php操作码,因为它在转换为C++之后被编译为字节码)。

现在回答您的问题,HipHop已用于实时托管大量Facebook流量。如果该项目不稳定,Facebook不会发布该项目,但是由于它是一个非常新的项目,因此我仍要谨慎行事。 HipHop不仅是旧版Zend Interpreter的补丁,它是一种完全不同的运行PHP代码的方式,并且其中可能包含一些错误。

Facebook在确保Hiphop切换到该功能之前所做的一件事是,他们能够在其网站上针对每个可能的请求设置非常严格的单元测试。这样,如果Hiphop的输出与普通的Zend PHP不同,则它们将返回并进行更多调试,直到一切“为他们工作”为止。仅仅因为它在Facebook代码库上“有效”并不能证明它对您的代码有效。如果您决定切换到HipHop,请确保对其进行了良好的测试。

编辑:

HHVM(HPHP的新VM版本)现在可以evalcreate_function。由于所有/最有意义的原因,它们应该相同。

有些事情与HipHop不兼容。他们删除了evalcreate_function函数。他们现在也仅支持PHP 5.2.x,但是他们计划增加对5.3“很快”的支持。

10-04 22:33