HipHop Virtual Machine

HHVM

Logo
Basisdaten

Entwickler Facebook
Aktuelle Version 3.15.0[1]
(28. September 2016)
Betriebssystem Linux, macOS (inoffiziell)[2]
Programmier­sprache C++, C
Kategorie Bytecode-Compiler
Lizenz PHP
hhvm.com

HipHop Virtual Machine (HHVM) ist eine Open Source virtuelle Maschine Just-in-time-Kompilierung (JIT) für die Programmiersprache Hack.

Geschichte

Wegen der verschiedenen absehbaren Einschränkungen des zum Debugging dienenden HPHPd begann Facebook bereits 2010, einen alternativen Ansatz zu untersuchen. Dabei wurde PHP in einer virtuellen Maschine ausgeführt, der HipHop Virtual Machine oder kurz HHVM. HHVM überträgt PHP-Code in einen abstrakten Bytecode (HHBC genannt). Dieser Bytecode wird dann dynamisch zur Laufzeit in x64-Maschinensprache durch einen JIT-Compiler übersetzt. Dies ist vergleichbar mit dem Ansatz der virtuellen Maschinen von anderen Sprachen wie Java (JVM) und C# (CLR) oder mit Microsofts sprachunabhängiger Common Intermediate Language für das .Net-Framework.

HHVM unterstützt im Juli 2013 noch nicht alle Funktionen von PHP 5.4, geht aber über PHP 5.3 hinaus. Ende 2012 erreichte HHVM die Geschwindigkeit von HPHPc.[3]

Anfang 2013 wechselte der Betrieb von Facebook von HPHPc auf HHVM. Damit wurden HPHPc für den Realbetrieb und HPHPd für den Testbetrieb abgelöst.

Seit dem 25. November 2014 wird HHVM für alle Nutzer der Wikipedia genutzt.[4] Seit der Version 4 wird nur noch die Sprache "Hack" unterstützt.[5]

Einzelnachweise

  1. Release 3.15.0. 28. September 2016 (abgerufen am 13. März 2018).
  2. Installation
  3. Drew Paroski: Speeding up PHP-based development with HHVM (englisch), Facebook, 29. November 2012
  4. Sebastian Grüner: Facebooks HHVM macht Wikipedia schneller. In: golem.de. 7. Januar 2015, abgerufen am 6. Februar 2025.
  5. Rainald Menge-Sonnentag: HipHop Virtual Machine 4 verabschiedet sich endgültig von PHP. In: heise Developer. 12. Februar 2019, abgerufen am 6. Februar 2025.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.