吃了火龙果小便红色是什么原因| camel什么意思| 胃寒吃什么食物好| 泪腺堵塞有什么症状| 心悸吃什么中成药| 上睑下垂是什么原因造成的| 俄狄浦斯情结是什么意思| 肚子经常胀气是什么原因| 黑色碳素笔是什么笔| 孕妇吃什么补铁| 草字头加全念什么| 讲述是什么意思| 风吹动窗吹动夜声响是什么歌| 手心发黄是什么原因| 玥字属于五行属什么| 孩子胃疼吃什么药| 麝香是什么| 动脉硬化吃什么药| 什么叫眼睛散光| 按摩手推是什么意思| 狗和什么属相最配| 诺贝尔奖是什么意思| 子宫内膜增厚吃什么药| 牛肉炒什么菜| 博士和博士后有什么区别| mark是什么牌子| 心律不齐什么症状| m2是什么单位| mac是什么牌子| 夜间胃痛是什么原因| 美国为什么要打伊拉克| 第六感是什么意思| 老人家脚肿是什么原因引起的| 为什么会有甲状腺结节| 什么的娃娃| 李世民字什么| 鬼火是什么意思| 老是打嗝什么原因| 九月份什么星座| 人为什么会怕鬼| 胆汁酸高是什么原因| 红色加紫色是什么颜色| 咖啡什么时候喝最好| 强迫症吃什么药效果好| 无精是什么原因造成的| 脚上有青筋是什么原因| 老花眼有什么办法可以恢复| 什么身子| 梦到自己生病了什么意思| 85年是什么年| 50公斤发什么物流便宜| 梗阻性黄疸是什么病| 肝功能查什么| pos是什么意思| 贵气是什么意思| 一贫如什么| 气节是什么意思| 黄瓜为什么叫黄瓜| 火焰山为什么这么热| 喝黑苦荞茶有什么好处和坏处| 前壁后壁有什么区别| 十二月份是什么星座| 本心是什么意思| xo兑什么饮料好喝| 外阴干裂用什么药| 自刎是什么意思| 燃眉之急是什么意思| mrmrs是什么牌子| 九牛一毛指什么生肖| 沙僧头上戴的是什么| 抗sm抗体阳性什么意思| 作价是什么意思| 肾结石是由什么原因引起的| 早上七点是什么时辰| 淋巴结影是什么意思| 苯佐卡因是什么| 粉色裤子搭什么上衣| 胎盘成熟度1级是什么意思| 人参果吃了有什么好处| rh是什么元素| 医学ac是什么意思| 梦见流鼻血是什么征兆| 心有不甘是什么意思| 溦是什么意思| 治霉菌性阴炎用什么药好得快| 陈醋和香醋有什么区别| 长发公主叫什么名字| 腋臭手术挂什么科| 急性扁桃体化脓是什么原因引起的| 韩信点兵什么意思| 宫颈口在什么位置| 喝金银花有什么好处| 男人吃四环素治什么病| 月经老是提前是什么原因| 贲门不舒服有什么症状| 挑担是什么意思| 什么是交感神经紊乱| 醋纤是什么面料| 下巴疼是什么原因| 艺伎什么意思| 急性胃炎吃什么食物好| 鲍鱼什么意思| 为什么有的人特别招蚊子| 水洗真丝是什么面料| g1p1是什么意思| 我在你心里是什么颜色| 牛油果和什么榨汁好喝| 孩子吐了吃什么药| hpv11阳性是什么意思| 三个龙念什么| 酸萝卜别吃什么意思| 摇头晃脑是什么生肖| 肠衣是什么做的| 尿频是什么原因| 突然头晕恶心是什么原因| 欠缺是什么意思| 经常射精有什么伤害| 什么米不能吃| 腿抽筋吃什么钙片好| 什么可以消肿快的方法| 规培证有什么用| 金国人是现在的什么人| 丝瓜炒什么好吃| 过度是什么意思| 纵隔淋巴结转移是什么意思| 女人小腹痛什么原因| 甲状腺结节是什么原因引起的| 脚趾麻木是什么病先兆| 抽烟是什么感觉| 孕妇便秘吃什么水果| 什么是更年期| 孕妇吃山竹对胎儿有什么好处| 树叶又什么又什么| 紫苏叶有什么作用| 什么可以补气血| 旅长是什么级别| 成长是什么| 眼屎多用什么眼药水好| 胃食管反流吃什么中成药| 荡漾是什么意思| 痛风该吃什么药好得快| 多尿什么原因| 什么是潮热| 便秘吃什么通便| rds是什么意思| 窍是什么意思| 颈动脉斑块是什么意思| 什么茶解酒效果比较好| 眩晕挂什么科室| 5月14日是什么星座| 海参什么季节吃好| 扭转乾坤是什么意思| 牙疼吃什么药止疼最快| 多吃黄瓜有什么好处和坏处| 山东特产是什么生肖| 穿刺是什么检查| 眼角红肿用什么药| 虫字旁与什么有关| 脂溢性皮炎头皮用什么洗发水| 教唆是什么意思| 塞浦路斯说什么语言| 孙子兵法到底说什么| 96年的鼠是什么命| 做完胃镜可以吃什么| 死库水是什么| 乌鸦反哺是什么意思| 庄子姓什么| 鬼打墙什么意思| 阿凡提是什么意思| 卡替治疗是什么意思| 什么是结肠炎| 9月20号是什么星座| 一月17号是什么星座| 嘴唇有痣代表什么| 牛百叶是什么| 左脚大拇指麻木是什么原因| 知了为什么叫| 蓝脸的窦尔敦盗御马是什么歌| 无水焗是什么意思| 生僻字是什么意思| 车牌号选什么数字吉利| 嫖娼是什么| 3月29号是什么星座| 宫颈纳氏腺囊肿是什么意思| 5月5日什么星座| utc是什么意思| 肾虚是什么症状| 1994年什么命| 粉丝炒什么好吃| 梦见收稻谷有什么预兆| 吉利丁片是什么做的| 牙发黑是什么原因怎么办| 感冒可以吃什么水果好| 咸鱼翻身是什么意思| 双脚麻木是什么病的前兆| 总胆固醇什么意思| 湿气重去医院挂什么科| 时光荏苒岁月如梭是什么意思| 姑息治疗是什么意思| 地委书记是什么级别| 男人胡子长得快是什么原因| 什么的火焰| 头晕耳鸣吃什么药| 消炎药吃多了有什么副作用| 大禹姓什么| 胰子是什么意思| 荷花是什么形状的| 手麻是什么病的前兆| 午时是什么时间| 低密度脂蛋白偏高吃什么好| 除了胃镜还有什么检查胃的方法吗| 华佗属什么生肖| 出水芙蓉是什么意思| collection什么牌子| 丽珠兰是什么| 梦见飞机是什么意思| 女人人中深代表什么| 恍然大悟是什么意思| 烧心是什么症状| 拔罐出水泡是什么原因| 中度抑郁症吃什么药| 三月20号是什么星座| 雀舌是什么茶| 什么泉水| 法国公鸡是什么牌子| 破处什么感觉| 小孩放屁很臭是什么原因| 螨虫是什么| 头晕眼睛模糊是什么原因| 感觉有痰咳不出来是什么原因| 小便尿不出来什么原因| 长期吃泡面有什么危害| 吴京和吴樾什么关系| 头痛吃什么药效果好| 什么是醪糟| 肝多发囊肿是什么意思| 一花一世界下一句是什么| 糖尿病人吃什么好| 血栓是什么意思| 胸口正中间疼是什么病| 人生巅峰是什么意思| 拔牙前需要做什么检查| 子宫肌瘤是什么病| 血压正常头晕是什么原因| 清欢渡是什么意思| 钢笔刻字刻什么好| 牡丹是什么季节开的| 胰腺炎吃什么药见效快| 打呼噜吃什么药最管用| 感染性发热是什么意思| 什么是张力| 古代地龙是什么| 阿碧的居所叫什么名字| 狗头军师什么意思| 股癣是什么样子的图片| 朔字五行属什么| 绿豆汤放什么糖| 观赏是什么意思| 良去掉一点读什么| 保护眼睛用什么眼药水| 英姿的动物是什么生肖| 面包属于什么类食品| 文化大革命是什么时候开始的| 血小板减少吃什么| 百度Jump to content

Fashion icon Angelababy poses for fashion magazine

From Wikipedia, the free encyclopedia
百度 10时49分,中国人民解放军军乐团号手现场奏响宣誓仪式曲。

HHVM
Developer(s)Meta Platforms
Initial releaseDecember 9, 2011; 13 years ago (2025-08-14)[1]
Stable release
3.15.0[2] Edit this on Wikidata / 28 September 2016; 8 years ago (28 September 2016)
Repository
Written inPHP, C++,[3] OCaml[4][a] and Rust[5]
LicensePHP License and Zend License[6]
Websitehhvm.com Edit this at Wikidata

HipHop Virtual Machine (HHVM) is an open-source virtual machine based on just-in-time (JIT) compilation that serves as an execution engine for the Hack programming language. By using the principle of JIT compilation, Hack code is first transformed into intermediate HipHop bytecode (HHBC), which is then dynamically translated into x86-64 machine code, optimized, and natively executed.[7][8] This contrasts with PHP's usual interpreted execution, in which the Zend Engine transforms PHP source code into opcodes that serve as a form of bytecode, and executes the opcodes directly on the Zend Engine's virtual CPU.[9]

HHVM is developed by Meta, with the project's source code hosted on GitHub;[10] it is licensed under the terms of the PHP License and Zend License.[1][6]

Overview

[edit]

HHVM was created as the successor to the HipHop for PHP (HPHPc) PHP execution engine, which is a PHP-to-C++ transpiler also created by Facebook.[11][12] Based on the gained experience and aiming to solve issues introduced by HPHPc, Meta decided in early 2010 to create a JIT-based PHP virtual machine. Issues associated with HPHPc included reaching a plateau for further performance improvements, a fundamental inability to support all features of the PHP language, and difficulties arising from specific time- and resource-consuming development and deployment processes.[11] In Q1 2013, the production version of the facebook.com website stopped using HPHPc and switched to HHVM.

Following the JIT compilation principle, HHVM first converts the executed code into an intermediate language, the high-level bytecode HHBC. HHBC is a bytecode format created specifically for HHVM, appropriate for consumption by both interpreters and just-in-time compilers. Next, HHVM dynamically ("just-in-time") translates the HHBC into x86-64 machine code, optimized through dynamic analysis of the translated bytecode. Finally, it executes the x86-64 machine code.[1][11][13] As a result, HHVM has certain similarities to the virtual machines used by other programming languages, including the Common Language Runtime (CLR, for the C# language) and Java virtual machine (JVM, for the Java language).

HHVM brings many benefits in comparison with HPHPc. HHVM uses the same execution engine when deployed in both production and development environments, while supporting integration between the execution engine and the HPHPd debugger in both environment types; as a result, maintaining HPHPi (HipHop interpreter) separately as a development utility is no longer needed as it was the case with HPHPc. HHVM also eliminates the lengthy builds required by HPHPc to run programs, resulting in much simpler development and deployment processes than it was the case with HPHPc.[1] Finally, versions of HHVM before 4.0 have almost complete support for the entire PHP language (as defined by the official implementation of PHP version 5.4), including the support for the create_function() and eval() constructs, which was impossible with HPHPc.[14][15]

Together with HHVM 3.0,[16] Meta also released Hack, a derivative of PHP[17][18] that allows programmers to use both dynamic typing and static typing (a concept also known as gradual typing), and allows types to be specified for function arguments, function return values, and class properties. However, Hack does not provide complete backward compatibility since it removes several PHP features, such as the goto statement and dynamic variable names.[19][20][21][22]

In September 2017, it was announced that version 3.30 would be the last version of HHVM to officially support PHP, and that HHVM will only support Hack going forward.[23] This was due to differences and incompatibilities in PHP 7.[24] HHVM 4.0, released in February 2019, was the first version without support for PHP.[25]

Performance

[edit]

As a process virtual machine that provides the execution environment, HHVM has the ability to use live type information to produce more efficient native code, leading to a higher web server throughput and lower latency. In Q4 2012, the execution of facebook.com's source code on HHVM achieved performance parity with HPHPc,[11] and in December 2013 HPHPc was even surpassed by around 15%.[26]

See also

[edit]

Notes

[edit]
  1. ^ Only the Hack's type-checking (hh_server and hh_client) and code-formatting (hh_format) command-line utilities and daemons bundled together with the HipHop Virtual Machine are written in OCaml.

References

[edit]
  1. ^ a b c d Jason Evans (December 9, 2011). "The HipHop Virtual Machine". Meta Platforms. Retrieved August 2, 2014.
  2. ^ "Release 3.15.0". September 28, 2016. Retrieved March 13, 2018.
  3. ^ "Building and installing HHVM on CentOS 7.x". github.com. Meta Platforms. May 26, 2015. Retrieved June 12, 2015.
  4. ^ "Building the Hack typechecker". github.com. Meta. September 10, 2014. Retrieved June 12, 2015.
  5. ^ "Facebook's HHVM Begins Seeing Rust Rewrite - Phoronix". Retrieved August 29, 2019.
  6. ^ a b "facebook/hhvm: License". github.com. Facebook, Inc. Retrieved August 2, 2014.
  7. ^ Ottoni, Guilherme (June 20, 2018). "HHVM JIT: A Profile-Guided, Region-Based Compiler for PHP and Hack". Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM. pp. 151–165.
  8. ^ "facebook/hhvm". github.com. Meta Platforms. Retrieved August 2, 2014.
  9. ^ Kaushik Pal (April 28, 2014). "PHP and Zend Engine Internals". phpbuilder.com. Archived from the original on September 15, 2014. Retrieved September 23, 2014.
  10. ^ HHVM source code on GitHub
  11. ^ a b c d Drew Paroski (November 29, 2012). "Speeding up PHP-based development with HHVM". Meta Platforms. Retrieved August 2, 2014.
  12. ^ "Announcement on GitHub removing HPHPc support". github.com. Meta Platforms. February 19, 2013. Retrieved May 24, 2013.
  13. ^ "HipHop Bytecode v1 revision 18". github.com. Meta Platforms. July 31, 2014. Retrieved May 24, 2013.
  14. ^ "facebook/hhvm: About upgrade to PHP 5.4 engine". github.com. May 2013. Retrieved August 2, 2014.
  15. ^ "facebook/hhvm: Home". github.com. Meta Platforms. May 8, 2014. Retrieved August 2, 2014.
  16. ^ Paul Tarjan (March 28, 2014). "HHVM 3.0.0". Facebook. Retrieved December 26, 2022.
  17. ^ Cade Metz (March 20, 2014). "Facebook Introduces 'Hack,' the Programming Language of the Future". Wired. Retrieved April 15, 2014.
  18. ^ Julien Verlaguet; Alok Menghrajani (April 2014). "Hack: a new programming language for HHVM". code.facebook.com. Facebook. Retrieved March 23, 2014.
  19. ^ Josh Lockhart (April 3, 2014). "Facebook's Hack, HHVM, and the future of PHP". O'Reilly Media. Retrieved August 2, 2014.
  20. ^ "Hack and HHVM: Type Annotations (Hack Manual)". docs.hhvm.com. Retrieved March 25, 2014.
  21. ^ "Hack and HHVM: Type Inference (Hack Manual)". docs.hhvm.com. Archived from the original on March 26, 2014. Retrieved March 25, 2014.
  22. ^ "Hack and HHVM: Unsupported PHP Features in Hack (Hack Manual)". docs.hhvm.com. Archived from the original on November 4, 2015. Retrieved April 2, 2014.
  23. ^ Fred Emmott (September 12, 2018). "Ending PHP Support, and The Future Of Hack". Retrieved December 26, 2022.
  24. ^ Krill, Paul (September 20, 2017). "Forget PHP! Facebook's HHVM engine switches to Hack instead". InfoWorld. Retrieved February 6, 2019.
  25. ^ Fred Emmott (February 11, 2019). "HHVM 4.0.0". Retrieved December 26, 2022.
  26. ^ "We are the 98.5% (and the 16%)". hhvm.com. December 19, 2013. Retrieved August 2, 2014.
[edit]


有机玻璃是什么 枸杞有什么作用和功效 什么是适度水解奶粉 籍贯是指什么 什么的珍珠
om什么意思 梦见买狗是什么意思 什么是癔病 牵牛花什么时候开 市辖区什么意思
02年是什么生肖 yp是什么 孕妇忌吃什么 喝酒眼睛红是什么原因 痔疮的克星是什么
驰骋沙场百战威是什么生肖 结余是什么意思 梦到屎是什么意思 水痘有什么症状 比目鱼又叫什么鱼
经济危机是什么意思hcv8jop4ns5r.cn 秦始皇长什么样bjcbxg.com 为什么怀孕会孕酮低hcv7jop6ns5r.cn 蜜蜂的天敌是什么hcv9jop5ns2r.cn 女人做爱什么感觉hcv9jop6ns8r.cn
鸭子炖什么好吃hcv9jop4ns8r.cn 什么能解酒hcv8jop9ns4r.cn 阴囊瘙痒挂什么科室hcv9jop6ns8r.cn 什么是阳气hcv9jop3ns5r.cn 什么是鼻炎hcv7jop5ns5r.cn
脚底红润是什么原因hcv8jop9ns1r.cn 六零年属什么生肖hcv8jop9ns7r.cn 贵人命是什么意思hcv8jop7ns0r.cn 鲈鱼吃什么hcv9jop5ns0r.cn 晚上梦见蛇是什么预兆sanhestory.com
女人性冷淡吃什么药hcv9jop3ns6r.cn 黑玫瑰代表什么hcv8jop9ns5r.cn 心火旺吃什么hcv7jop6ns7r.cn 幼对什么hcv8jop1ns7r.cn 月经期适合吃什么水果hcv8jop7ns8r.cn
百度