PHP için HipHop
Tarafından geliştirildi | |
---|---|
Son sürüm | 3.15.0 (Eylül 28, 2016) |
Depozito | github.com/facebook/hiphop-php |
Yazılmış | C ++ ve C |
Çevre | Çapraz platform |
Tür | Derleyici |
Lisans | PHP lisansı |
İnternet sitesi | http://github.com/facebook/hiphop-php |
HipHop for PHP , PHP kodunun geliştirilmesini, hata ayıklamasını ve çalıştırılmasını optimize etmek için Facebook tarafından oluşturulanbir yazılım koleksiyonudur.
İki nesil ürünü ifade eder:
İlk nesil derlenmiş kod C ++ 'ya dönüştürüldü :
İkinci nesil, HHVM adlı bir sanal makinedir ve Java için JVM ve .Net platformu için CLR gibi, ara dilde kod, bayt kodu olarak da adlandırılan bir derleme yapar . Bu kod daha sonra derlenir ve talep üzerine çalıştırılır.
Derleyicilerin ilk geliştirmeleri phc ve “ Roadsend PHP Compiler ” ( C'de derleniyor ) ve Quercus ve Project Zero'dur. Ücretsiz yazılımın yayınlanmasından iki yıl önce geliştirme aşamasındaydı.2 Şubat 2010. Zorluklar, projenin programın gerisinde kalmasına neden oldu.
Facebook, Haiping Zhao'nun yönetiminde kendi derleyicisini geliştirmeye karar verir).
İlk olarak PHP için HipHop , ardından HPHPc adı verilen ilk ürün , bir PHP kod derleyicisidir . PHP kaynak kodunu optimize edilmiş C ++ ' ya dönüştürür ve bunu makine diline derlemek için g ++ kullanır . HipHop, bu performans optimizasyonlarından yararlanmak için bir kod dönüştürücü, PHP bağımlılıklarının yeniden uygulanması ve birçok yaygın PHP uzantısının yeniden yazılmasını içerir.
HipHop, sunucularındaki yükü azaltmak için 2008 ve 2010 yılları arasında Facebook tarafından oluşturuldu . PHP lisansının 3.01 sürümü hükümleri altında özgür yazılım olarak C ++ ve C'de yazılmış 300.000'den fazla kod satırı ile piyasaya sürüldü .
Ayrıca , kodu önceden derlemenin gerekli olmadığı deneysel bir kod yorumlayıcısı olan ve geliştiricilerin HPHPc ile aynı yürütme koşullarını simüle eden bir ortamda kodlarında hata ayıklamalarına olanak tanıyan HPHPi'yi de geliştirdiler.
Performans ve optimizasyon olanaklarındaki kazanç tavana ulaştı. Ayrıca, iki ayrı kod tabanı olan HPHPc ve HPHPi'nin bakımı gittikçe zorlaşırken eval () gibi bazı PHP özellikleri için destek henüz uygulanmadı.
Bu sorunları çözmek için 2010 yılında bir sanal makine oluşturma projesi başlatıldı ve HHVM doğdu. 2012 sonunda HPHPc'ye benzer bir performans elde edecek. O andan itibaren Facebook bunu üretimde kullanıyor.