Facebook'un HipHop - Ne için?

5 Cevap php

PHP Dünyada haber bugün Facebook's HipHop olduğu, hangi:

PHP için HipHop teknik bir derleyici kendisi değildir. Aksine bir kaynak kod transformatör. HipHop programlı son derece optimize C + + içine PHP kaynak kodu dönüştürür ve daha sonra derlemek + g+ kullanır. HipHop bir anlam eşdeğer bir şekilde kaynak kodu yürütür ve fedakarlıkların bazı nadiren kullanılan özellikleri - gelişmiş performans karşılığında - gibi eval () gibi. HipHop bir kod transformatör, PHP'nin çalışma zamanı sisteminin bir reimplementation, ve bu performans iyileştirmeleri yararlanmak için birçok ortak PHP uzantıları bir yeniden yazma içerir.

Sorum web uygulamaları ne tür için bu aslında yararlıdır, nedir?

Tipik bir veritabanı bağlı web uygulamaları büyük ölçüde bu hizmet olmayabilir, ancak nadir CPU bağlı uygulamalar olur gibi görünüyor.

5 Cevap

Bu makale:

http://terrychay.com/article/hiphop-for-faster-php.shtml

"eğer" ifadeleri onun serisi ile mükemmel bu soruyu yanıtlar.

Işleme ve / veya bir sürü yapmak Web uygulamaları çok fazla bellek kullanır. Görünüşe göre bu HipHop (ben bellek kullanımı her yerde sözü azalacaktır ne kadar görmedim) yaklaşık% 50 oranında CPU kullanımını azaltmak ve aynı zamanda bellek kullanımını azaltacaktır. Bu daha az sunucuları ile isteklerinin aynı sayıda hizmet etmek gerekir demektir.

Bir yararı derlenmiş önce kod tutarlı olmasını sağlamak için kontrol bazı temel tipi olacağını olabilir. Bu PHP şu anda zayıf tip sistemin bir sonucu olarak görmezden eğilimi hataların türünü bulmak için yardımcı olmalıdır.

Olumsuz (muhtemelen bu da olumlu olsa) bu tür eval gibi PHP'nin daha dinamik bazı özellikleri desteklemiyor olabilir gibi görünüyor.

Peki bu bir ölçüde ölçeklenebilir web sitesinin performansını yardımcı olmak için C + + içine PHP "dönüştürür".

Yani, HipHop size hızlı bir milyar dolarlık bir şirket haline büyümeye ve insanlar Justin Timberlake oynadığı hakkında bir film yapıyoruz o Harvard'da başlayan bir web sitesi varken içindir. Böyle bir web sitesi var ve CPU döngülerini kaydetmek istiyorum, ama kod tabanını yeniden yazmak istemiyorum zaman, HipHop kullanın.

Sadece dışarı başlıyor iseniz, daha ölçeklenebilir bir dil öğrenmek için reddediyorum sadece PHP programcıları ile ıssız bir adada sıkışıp sürece, sen HipHop kullanmayın.

Yorumlanmış kod üzerinde makine kodu Koşu hızlıdır. Bu bir anlamda yararlıdır, ama aynı zamanda her bir işlemci işlerinin az olduğu gibi, size gerekli makinelerin miktarını azaltır.

This is good for a company like Facebook, in that they can cut the amount of machines they need.
In terms of why it's useful for them, they probably run a lot of sorting and indexing, on the large amounts of data they have.

Sen. Php dosyaları bir demet alır derleyici çeşit olarak düşünmek, ve sonra (diğer derleyiciler desteklenen ise emin değil) + g+ kullanarak derleme hangi c + + dosyaları bir demet oluşturabilir. Oluşan exe dahil bir web sunucusu ile web uygulaması. Yani exe çalıştırmak olabilir anlamına gelir ve gitmek iyidir. Web sunucusu libevent dayalı ve sözde oldukça verimli olduğu.