HipHop for PHP

✍ dations ◷ 2025-04-10 11:33:54 #编译器软件,程序设计工具,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的支持,以至于除了加速之外并显著的减少存储器使用量。

相关

  • 对苯二酚对苯二酚(化学式:C6H4(OH)2),也称氢醌(英文:hydroquinone),是苯的两个对位氢被羟基取代形成的化合物。对苯二酚是白色针状结晶,可燃,可溶于热水、乙醚和乙醇,微溶于苯。具还原性,经温和
  • 人均二氧化碳各国人均二氧化碳排放量列表比较近期各国每年人均二氧化碳排放量。二氧化碳排放量仅仅是某个国家温室气体排放的一个指标。为了更完备的考察一个国家对气候变化的影响,例如甲
  • 性体位行房姿势、性姿势、性体位或性交体位,泛指参与性行为者所采行的姿势。《红楼梦》第23回中贾琏要求王熙凤改变一些新奇的姿势,“只是昨儿晚上,我不过是要改个样儿,你就扭手扭脚的
  • 玫瑰宫阿根廷民主共和国总统府,是阿根廷总统及其属下办公的所在地,是阿根廷国家的最高行政指挥中心,也是阿根廷最有历史纪念意义的建筑之一。因其外墙涂为粉红色,也被称为“玫瑰宫”(CA
  • 牛部牛部,为汉字索引中的部首之一,康熙字典214个部首中的第九十三个(四划的则为第三十三个)。就繁体和简体中文中,牛部归于四划部首。牛部通常是从下、左方均可为部字。当下为部字时,
  • 阿里亚诺法令阿里亚诺法令 是西西里国王罗杰二世在1140年夏天贝内文托附近的阿里亚诺颁布的一系列的王国法律,在平息了近年国内不断的叛乱后,罗杰二世决定建立一个更加集权的政府。法令旨
  • 邵陛邵陛(?-?),字世忠,浙江绍兴府余姚县人,明朝政治人物。浙江乡试第八十四名举人。隆庆二年(1568年)中式戊辰科进士。任庶吉士,授御史,升大理寺少卿,后巡抚南赣、湖广。官至刑部侍郎,卒后赠太
  • 蓝花蓝花(德语:Blaue Blume),是浪漫主义的一个重要的象征。代表了心灵渴望的一切的无限之物、爱,以及近在咫尺却又遥不可及的追求等。“蓝花”一词最先是18世纪德国诗人诺瓦利斯使用,
  • 谢尔比维尔 (伊利诺伊州)谢尔比维尔(英语:Shelbyville)是一个位于美国伊利诺伊州谢尔比县的城市。根据2010年美国人口普查,该地共人口4700人,而该地的面积约为10.39平方千米。同时该地也是谢尔比县的县治
  • 圣彼得堡国立信息技术机械与光学大学坐标:59°57′23″N 30°18′36″E / 59.9564°N 30.31°E / 59.9564; 30.31圣彼得堡国立信息技术机械与光学大学(俄语:Санкт-Петербургский национа