你的位置:首页 > 开源世界

Facebook的PHP开源项目揭秘:HipHop

2011-07-02 浏览:(2717) 开源世界 评论(0)

HipHop本身并不是一个编辑器,更确切的说,它是一个源代码转换器。将PHP代码转换为高度优化的C++代码,然后再使用g++编译器编译。它可以保持语义等效地执行源代码,但牺牲了一些很少会使用到的功能,比如eval()。为了进一步的提升性能,HipHop包含一个code transformer,一个重新实现的PHP runtime系统,并利用这些性能的优化的优势,对许多共同的PHP扩展进行了重写。

转换中的主要步骤:

1. 静态分析:收集声明和依赖的相关信息

2. 类型推断(Type inference):选出最合适的类型,是C++ scalar,String, Array, classes, Object还是Variant等…

3. 代码生成。大部分是直接将PHP的语句和表达式对应为 C++的语句和表达式。

与此同时,开发者还提供了—HPHPi,一个实验性的解释器。使用HPHPi,在运行之前也不必编译PHP源代码。

HipHop在保持了PHP优点的同时,也兼得了C++的性能优势。项目总共有30万行代码,5000多个单元测试。所有这些都将以PHP开源许可证形式发布到GitHub。

点击访问HipHop wiki:http://github.com/facebook/hiphop-php/wikis

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。