HipHop for PHP
是一系列PHP脚本语言的代码转换器的集合,它包含、、以及,这四个脚本引擎各有所不同,但是他们共用相同的运行时()及工具集()。是由Facebook所创建,他们用它来节省服务器的资源。被发布时,已经是高达60万行由C++及C所撰写的代码,它以自由软件发布,采用PHP许可证 3.01版。
开发者 | |
---|---|
首次发布 | 2010年2月2日 |
当前版本 |
|
源代码库 | |
编程语言 | C++, C |
操作系统 | 跨平台 |
类型 | 代码转换 |
许可协议 | 自由软件 (PHP许可证) |
网站 | wiki |
历史
一开始,由Haiping Zhao于领衔开发,运行于CentOS及Fedora操作系统。在发布之前,已经被开发了两年,最后于2010年2月2日发布,但由于技术的困难,实际发布的时间延后18天[4][5],于2月20日发布在公开的Git程序库。
HPHPc
这是最原始版本的(被称之为),它可以将的代码转换成C++的代码,并且利用g++将它编译成机器语言。Facebook使用它多年,但由于他对于开发者并不友善,而且Facebook庞大的程序库使得开发者在进行程序更动时,必须等待数个小时的编译,所以在2013年2月19日被官方弃用[6]。
HPHPi
的开发者模式版本(被称之为)被用来处理PHP代码,它在运行时期进行编译,但与使用相同的运行时期以及运行逻辑,比起,它的运行性能较低,但它令开发者可以使用与产品发布时相同堆栈的代码。目前的支持也已经终止。
HPHPd
的调试程序(被称之为)被用来作为运行时期的键盘交互界面,它允许开发者可以尝试使用一些代码、紧系运行时期的解释器以及可以设置监视器或中断点。现在仍被支持及使用。
使用HipHop for PHP
是一个开放原代码的项目,可在GitHub(页面存档备份,存于)取得,它是采用PHP许可证授权。上已编译可直接运行的套件已经可以在项目的程序库取得[7][8]。
于2012年5月,的指出 目前已经支持的多项特色(页面存档备份,存于)
于及上开发,目前在其他系统编译可能不能正常运行,虽然在未来可能会加入其他操作系统的支持,但是现在,仅能运行于64比特架构的环境。
在运行项目,有相当多的改进,也能减少内存使用量[9]并增加对TBB的的支持,以至于除了加速之外并显著的减少内存使用量[10]。
另见
- Project Zero
- Phalanger (compiler)
参考文献
- . 2016年9月28日 [2018年3月13日].
- . [2011-05-01]. (原始内容存档于2011-05-16).
- . [2011-05-18]. (原始内容存档于2011-05-19).
- PHP Creator Asks, Is Facebook's HipHop Just a 'Nifty Trick'? (页面存档备份,存于)
- Repository documentation on February 8, 2010. (页面存档备份,存于)
- . [2013-03-18]. (原始内容存档于2019-10-17).
- . 2013-03-14 [2013-03-18].
- . 2012-09-15 [2013-03-18].
- . Openparallel.wordpress.com. 2010-11-01 [2011-04-12]. (原始内容存档于2011-03-16).
- . Openparallel.wordpress.com. 2010-11-01 [2011-04-12]. (原始内容存档于2011-03-19).
外部链接
- 官方网站
- SourceForge.net上的HipHop for PHP
- HipHop Compiler for PHP? Transforming PHP into C++(页面存档备份,存于) — lecture given by HipHop Lead Engineer, Haiping Zhao at Stanford University (video archive).
- List of unimplemented functions and features in HipHop for PHP
- "Integration of Intel's TBB into Facebook's HipHop(页面存档备份,存于)" – Presentation by Lenz Gschwendtner and Nicolás Erdödy at LCA2011 in Brisbane, Australia. Video (28 Jan 2011)