HipHop for PHP

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Ujednoznacznienie Ten artykuł dotyczy translatora języka programowania PHP na C++. Zobacz też: Hip-hop - subkulturę młodzieżową.
HipHop
Transpiler
Producent Facebook
Platforma sprzętowa wieloplatformowy
Pierwsze wydanie 2010-02-022 lutego 2010[1]
Licencja PHP License
wiki.github.com/facebook/hiphop-php/

HipHop for PHP tłumaczy kod źródłowy języka PHP na wysoko zoptymalizowany kod C++, który jest kompilowany na kod maszynowy przez GCC. HipHop zawiera kod transformatora, reimplementacje kodu PHP i przepisane niektóre rozszerzenia PHP[1].

HipHop został stworzony przez Facebook, w celu zmniejszenia obciążenia serwerów serwisu społecznościowego. Zawiera 300 tysięcy linii kodu źródłowego napisanego w C i C++[1]. Udostępniany jako wolne oprogramowanie na licencji PHP License.

Historia[1][edytuj | edytuj kod]

Problemem dla Facebook było rosnąca liczba serwerów spowodowana przez bardzo dużą ilość odsłon serwisu. Coraz trudniej było deweloperom skalować infrastrukturę. Początkowo przepisywali większość kodu PHP na język C++ jako zewnętrzne rozszerzenie PHP. Rezultatem tego, deweloperzy musieli znać dobrze języki PHP i C++ oraz implementacje silnika Zend. Facebook nie posiadał za wiele programistów potrafiących przepisywać kod PHP na zewnętrzne rozszerzenie, co ponownie stwarzało problem. HipHop został stworzony by zlikwidować problem wydajności aplikacji oraz małej ilości programistów potrafiących przepisywać kod. Projekt był rozwijany przez dwa lata pod przewodnictwem Haiping Zhao, zanim został wydany jako wolne oprogramowanie w dniu 2 lutego 2010 roku. Z powodu trudności technicznych Facebookowi udało się zapewnić dostęp do repozytorium Git dopiero w dniu 20 lutego. Oprogramowanie obsługuje serwery serwisu społecznościowego Facebook z setkami milionów użytkowników.


Użycie[edytuj | edytuj kod]

HipHop jest dostępny z repozytorium Git. Na ten moment możliwe jest uruchomienie projektu jedynie na 64-bitowej architekturze[2]. HipHop aktualnie wspiera PHP w wersji 5.2, wersja 5.3 ma być wspierana w przyszłości[2].

Zobacz też[edytuj | edytuj kod]

Przypisy


Linki zewnętrzne[edytuj | edytuj kod]