Hiphop – Wikipedia

before-content-x4

Hiphop pour PHP est un logiciel libre qui traduit à l’origine les scripts PHP aux fins de l’augmentation des performances du code source C ++, qui utilise alors habituellement G ++ – dans le langage de la machine nécessaire. En attendant, HHVM dispose d’une machine virtuelle disponible pour l’exécution du langage de programmation hack développé par Facebook.

after-content-x4

HipHop a été initialement développé sur Facebook sous la direction de Haiping Zhou sur Centos et Fedora Systems. Il suit des développements similaires antérieurs à PHC [d’abord] et compilateur Roadsend PHP [2] (Compilation à c) ou Quercus [3] UND Project Zero [4] (Implémentations Java de PHP) ou Phalanger (compilateur pour .NET). Il était probablement en développement depuis plus de deux ans avant l’annonce de la publication comme un logiciel libre sous la licence PHP pour le 2 février 2010.
La nomination n’a pas pu être satisfaite en raison de problèmes techniques, mais le 20 février, le code source a atterri comme promis dans le référentiel GIT.
Le logiciel est sur Facebook pour gérer des centaines de millions d’utilisateurs.
Au cours des mois suivants, une nouvelle accélération de la hanche -hop a été travaillée et le soutien de certaines des nouvelles fonctionnalités de PHP 5.3 a été mise en œuvre. En outre, le portage sur les plateformes 32 bits a été mis en œuvre par Hui Chen dans le cadre d’une bourse Google Summer of Code. [5]

Le compilateur hip-hop d’origine Hiphop pour PHP (HPHPC) a converti le code PHP en code C ++.
La compilation atteint des vitesses d’exécution significativement plus élevées ou des charges de processeur plus élevées que lorsque les scripts PHP ont interprété, par exemple, par le moteur Zend, dans lequel les commandes doivent au moins partiellement être traduites dans le langage de la machine pour chaque utilisation.

Cela crée un fichier de programme exécutable natif qui contient également le serveur Web et répond ainsi directement aux demandes HTTP et a rendu le serveur Web, par exemple Apache, inutile.

Contrairement à d’autres approches pour augmenter la vitesse d’exécution de PHP, HIPHOP a apporté une augmentation significative de la vitesse du facteur 6 et réduit l’attribution de la mémoire – d’autres choses, car les demandes de serveurs parallèles n’ont pas été traitées dans des processus distincts avec des zones de stockage distinctes. [6] Cela peut entraîner des augmentations de performances significatives ou des économies de ressources sur les sites Web avec un nombre très élevé de visiteurs.

HIPHOP est distribué en logiciel libre avec code source sous la version 3.01 de la licence PHP. Le texte source comprend plus de 300 000 lignes en C ++ et C.

after-content-x4

HPHPC prend en charge PHP à partir de la version 5.3, où eval () et create_function () est distribué avec.

HHVM
Logo
Seront des données de base
développeur Facebook
Année d’édition 2 février 2010 [7]
Version actuelle 3.23
(17 novembre 2017 [8] )
système opérateur Linux, macOS (non officiel) [9]
langage de programmation C ++, C
Catégorie Compilateur de bytecode
Licence Php
hhvm.com

En raison des diverses restrictions prévisibles sur le HPD servant à déboguer, Facebook a commencé à examiner une approche alternative en 2010. PHP a été réalisé dans une machine virtuelle qui Machine virtuelle hiphop ou court HHVM . HHVM transfère le code PHP dans un bytecode abstrait ( HHBC appelé). Ce bytecode est ensuite traduit dynamiquement en langage de machine × 64 par un compilateur JIT. Ceci est comparable à l’approche des machines virtuelles à partir d’autres langues telles que Java (JVM) et C # (CLR) ou avec le langage intermédiaire commun indépendant de la langue de Microsoft pour le framework .NET.

HHVM ne prend pas en charge toutes les fonctions de PHP 5.4 en juillet 2013, mais va au-delà de PHP 5.3.
Fin 2012, HHVM a atteint la vitesse de HPHPC. [dix]

Début 2013, la société de Facebook est passée de HPHPC à HHVM. HPC a été remplacé pour un fonctionnement réel et HPHPD pour le mode de test.

À partir d’août 2014, la Fondation Wikimedia a testé l’utilisation de HHVM pour Wikipedia. [11] [douzième] HHVM est utilisé pour tous les utilisateurs de Wikipedia depuis le 25 novembre 2014. [13] Cependant, un passage à PHP 7 a été testé depuis janvier 2019 parce que HHVM a décidé de définir la prise en charge de PHP, il n’est pris en charge que. L’utilisation de PHP 7 est actuellement testée en tant que fonctionnalité bêta. [14]

  1. phpcompiler.org
  2. roadsend.com ( Mémento des Originaux du 6 septembre 2008 Archives Internet ) Info: Le lien d’archive a été utilisé automatiquement et non encore vérifié. Veuillez vérifier le lien d’origine et d’archiver en fonction des instructions, puis supprimez cette note. @d’abord @ 2 Modèle: webachiv / iabot / www.roadsend.com
  3. Caucho.com/resin-3.1#quercus
  4. Projectzero.org/php ( Mémento à partir du 3 août 2009 dans Archives Internet )
  5. Scott Macvicar: Hiphop pour PHP: six mois plus tard. Dans: Facebook Engineering Weblog. Facebook, 13. août 2010, consulté le 19 novembre 2010 (Anglais).
  6. Manuel Lemos: Performance du compilateur PHP , Blog des classes PHP, 23. Février 2010.
  7. www.facebook.com .
  8. Fred Emmett: HHVM 3.23
  9. Installation
  10. Drew Paroski: Accélérer le développement basé sur PHP avec HHVM (Anglais), Facebook, 29 novembre 2012
  11. HHVM . MediaWiki (Englisch)
  12. Rapport de la Wikimedia Foundation, Information août 2014 (Anglais)
  13. [Wikitech-L] Tout le trafic non API est maintenant desservi par HHVM. wikimedia.org, 3 décembre 2014; Consulté le 3 août 2015.
  14. [Wikitech-L] PHP 7 est maintenant une fonctionnalité bêta. wikimedia.org, 28 janvier 2019; Consulté le 28 janvier 2019.

after-content-x4