Facebook souhaite révolutionner PHP avec Hip Hop

Nous ne savions pas que depuis six mois, Facebook utilisait un compilateur personnalisé pour PHP, appelé "Hip Hop". Essentiellement, il prend votre code source PHP et le convertit en C ++. Il est ensuite compilé avec G ++. En conséquence, ils ont réussi à réduire de 50% l'utilisation de leur processeur. Ce projet est apparemment en développement depuis deux ans, mais n’a été dévoilé qu’aujourd’hui à la communauté..

"HipHop pour PHP n’est pas techniquement un compilateur. C’est plutôt un transformateur de code source. HipHop transforme par programmation votre code source PHP en C ++ hautement optimisé, puis utilise g ++ pour le compiler. HipHop exécute le code source de manière sémantiquement équivalente et sacrifie certaines fonctionnalités rarement utilisées, telles que eval (), en échange de meilleures performances. HipHop inclut un transformateur de code, une réimplémentation du système d’exécution de PHP et une réécriture de nombreuses extensions PHP courantes pour tirer parti de ces optimisations de performances. "

L'annonce

"La mise à l'échelle de Facebook est particulièrement difficile, car presque chaque affichage de page est un utilisateur connecté doté d'une expérience personnalisée. Lorsque vous consultez votre page d'accueil, nous devons rechercher tous vos amis, interroger leurs mises à jour les plus pertinentes (à partir d'un service personnalisé que nous avons '. Nous avons créé Multifeed), filtrez les résultats en fonction de vos paramètres de confidentialité, puis complétez les récits avec des commentaires, des photos, des "j'aime" et toutes les riches données que Facebook aime beaucoup, tout cela en un peu moins d'une seconde. HipHop nous permet écrire la logique d'assemblage final de la page en PHP et la parcourir rapidement en s'appuyant sur des services backend personnalisés en C ++, Erlang, Java ou Python pour gérer les flux d'actualités, la recherche, la discussion en ligne et d'autres parties essentielles du site . "

Les problèmes de Facebook face à PHP

  • Impossible de réutiliser la logique PHP dans d'autres systèmes
  • Les extensions sont plus difficiles à écrire pour les développeurs PHP
  • Utilisation élevée du processeur; ne peut pas être aussi efficace que quelque chose comme C++
  • Pas vraiment pratique de réécrire complètement Facebook avec une nouvelle langue

Comment ils l'ont amélioré

  • C'est un transformateur de code source
  • Transforme PHP en C ++ optimisé, puis compilé avec G++
  • Est en développement depuis plus de deux ans.
  • Si vous avez utilisé Facebook au cours des six derniers mois, vous avez une expérience du hip hop
  • L'équipe Facebook a enregistré une diminution de 50% de l'utilisation du processeur.
  • Ils auront des évangélistes dédiés pour aider à former / familiariser la communauté avec le hip hop
  • Si vous utilisez un hôte partagé sur Apache, vous voudrez probablement continuer à utiliser PHP standard.
  • Où pouvons-nous commencer à jouer avec?

    Hip Hop est disponible maintenant et est hébergé sur Github. Vous pouvez le télécharger ici.

    • Suivez-nous sur Twitter ou abonnez-vous au fil RSS Nettuts + pour obtenir les meilleurs tutoriels de développement Web sur le Web..