HipHop for PHP

✍ dations ◷ 2025-11-05 18:33:44 #编译器软件,程序设计工具,PHP,Facebook软件

HipHop for PHP是一系列PHP脚本语言的代码转换器的集合,它包含HPHPc、HPHPi、HPHPd以及HHVM,这四个脚本引擎各有所不同,但是他们共享相同的运行时(Runtime)及工具集(Toolset)。HipHop是由Facebook所创建,他们用它来节省服务器的资源。HipHop被发布时,已经是高达60万行由C++及C所撰写的代码,它以自由软件发布,采用PHP许可证 3.01版。

HipHop for PHP可显著的增快PHP应用程序的速度,借由2到6个已观察到的要素,HipHop改善了网页生成的性能。

一开始,HipHop由Haiping Zhao于Facebook领衔开发,运行于CentOS及Fedora操作系统。在发布之前,已经被开发了两年,最后于2010年2月2日发布,但由于技术的困难,实际发布的时间延后18天,于2月20日发布在公开的Git程序库。

这是最原始版本的HipHop(被称之为HPHPc),它可以将PHP的代码转换成C++的代码,并且利用g++将它编译成机器语言。Facebook使用它多年,但由于他对于开发者并不友善,而且Facebook庞大的程序库使得开发者在进行程序更动时,必须等待数个小时的编译,所以HipHop在2013年2月19日被官方弃用。

HPHPc的版本(被称之为HPHPi)被用来处理PHP代码,它在运行时期进行编译,但与HPHPc使用相同的运行时期以及运行逻辑,比起HPHPc,它的运行性能较低,但它令开发者可以使用与产品发布时相同堆栈的代码。目前HPHPi的支持也已经终止。

HipHop的调试程序(被称之为HPHPd)被用来作为HipHop运行时期的键盘交互界面,它允许开发者可以尝试使用一些代码、紧系运行时期的解释器以及可以设置监控器或中断点。HPHPd现在仍被支持及使用。

这是当前版本的HipHop(被称之为HHVM),被用以取代HPHPc以及HPHPi在产品的开发及发布,HHVM借由将 PHP 代码编译为字节码 ,使其可运行于虚拟机的环境,也可以利用客制的JIT在运行时期编译为机器代码。当前Facebook的PHP程序皆运行在HHVM上。

HipHop for PHP是一个开放源代码的项目,可在GitHub 页面存档备份,存于互联网档案馆获取,它是采用PHP许可证授权。ubuntu上已编译可直接运行的包已经可以在HipHop项目的apt程序库获取。

于2012年5月,HipHop的wiki指出 页面存档备份,存于互联网档案馆

HipHop于CentOS及Fedora上开发,目前在其他系统编译可能不能正常运行,虽然在未来可能会加入其他操作系统的支持,但是现在,HipHop仅能运行于64位架构的环境。

HipHop在运行PHP项目,有相当多的改进,也能减少存储器使用量并增加对TBB的parallel_for的支持,以至于除了加速之外并显著的减少存储器使用量。

相关

  • 现在式现在时(Present tense),也常称为现在式,是一种时态,用于说话时点所正在发生事件的语法意义。这种语法意义还能表示:有二种共同的类型现在时被发现在多数印欧语系:现在时和现在虚拟
  • 俾斯麦山脉俾斯麦山脉(Bismarck Range)是巴布亚新几内亚的一座山脉,位于巴国中部,名称源自时任德意志帝国宰相奥托·冯·俾斯麦,历史上1880年代到1914年被德国殖民统治的时期。山脉最高峰是
  • 硫化镧硫化镧是一种无机化合物,化学式为La2S3。硫化镧可由硫化氢气体和氧化镧或氯化镧反应得到:也可由硫和镧按化学计量比反应得到。
  • 彼得二世 (俄国)彼得二世·阿列克谢耶维奇(1715年10月23日-1730年1月30日,1727年—1730年在位),是俄罗斯帝国皇帝,彼得大帝的皇储阿列克谢和布伦斯威克·沃尔芬布特尔公国夏洛特郡主之子。叶卡捷
  • 刘问霞刘问霞(1895年-1944年),原籍天津,中国东北大鼓女性演奏家。早年拜刘连甲为师学东北大鼓。擅长演唱抒情段落,尤以《红楼梦》中唱段最突出。有“奉天鼓王”的称号,在东北和关内都有很
  • 威廉·珀德姆威廉·珀德姆(英语:William Purdom,1880年-1921年)是英国的植物探险家,1909年,受哈佛大学阿诺德植物园(英语:Arnold Arboretum)派遣,来到中国北部进行植物考察,历时三年,游历北京、河北
  • 尼古拉·伊里奇·别利亚耶夫尼古拉·伊里奇·别利亚耶夫(俄语:Никола́й Ильи́ч Беля́ев,1903年1月19日(2月1日)-1966年10月28日)苏联党和国家领导人,哈萨克斯坦共产党中央第一书记。1903
  • 扎赉诺尔西站扎.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{font-feature-setting
  • 玛加蕾特·布贝-诺伊曼玛加蕾特·布贝-诺伊曼(德语:Margarete Buber-Neumann 1901年10月21日-1989年11月6日)德国共产党员,《在两个独裁者之下》的作者,该书讲述了她在二战时期在被囚禁于苏联和纳粹德
  • 铝试剂铝试剂,玫红三羧酸的三铵盐,是一种常用于检测水溶液中铝离子的染料。除了在定性无机分析中的使用,铝试剂还在色素生产中有应用。 它能与铝,铬,铁和铍的离子形成色淀。铝试剂微溶