http://www.readwriteweb.com/archives...ontent=Twitter
Átalakítja C++ kódra a PHP kódot, majd lefordítva futtatja azt (gondolom cgi üzemmódban).
Printable View
http://www.readwriteweb.com/archives...ontent=Twitter
Átalakítja C++ kódra a PHP kódot, majd lefordítva futtatja azt (gondolom cgi üzemmódban).
Már bocs, de ez mitől jobb, mint az APC és társai? Ha jól tudom az APC része lesz a PHP6-nak. Amúgy én igyekszem elszakadni a MySQL/PHP-tól és más ördögtől való megoldásoktól, de akkor is.
A müködési elve más. az apc a php compiled státusát menti el, ezáltal a parsolás idejét spórolva meg, közvetlenül a php belső bineáris nyelvére fordítva a dolgot.
A fent emlitett rendszer a php kódot parse-olja, átforditja c++ -ra. Utánna fenti kódot a gcc 4-es változatával gépi kódra fordítja, igy gyakorlatilag mikro kódkén fut a dolog. A dolog előnye, hogy igy kikerül az egyeneletből a php runtime, nativ c utasításokká van lefordítva minden.
A dolog azonban igy ebben a formájában nem csoda fegyver, hiszen a shared hostingos php oldalakon nem segít, hiszen az ellenörzés, és a hatalmas compilled könyvtár kezelése elveszi a dolog előnyét. Akiknek segit azok a php nagybani felhasználói, akik egy kódbázist futtatnak akár több szerveren is, mert igényli a terhelés.
Köszi TLoF, most már értem, de hogy a túróban jön ki a 80%.
Ha itt tartunk shared hostingos, napi pár száz látogatós siteokhoz a MySQL is overkill, sokkal jobb oda az SQLite. 3.6-os simán jobb még sebesség szempontjából is, ha relatív sokan olvassák, és szinte senki nem írja az adatbázist. Mint a legtöbb oldal esetében. (Mivel csak az admin és pár mod ír, lásd portálok.)
A 80% mutatja, hogy mekkora az overhaed a php és a nativ c-és alkalmazások között. Tehát azt jelenti, hogy nagyjából dupla annyi idő valamit megcsinálni php-ban mint gépikódban.
Ez az egyenlet egyik oldala. A másik pedig az, hogy a fejlesztési idő mennyi. Tehát hogyha egy project megirása php-ban 10 emberhónap munkaidőt, és a futása 1 éve alatt 2 szervert igényel akkor ez kerül 10x2500 + 2x200x12 ~ 30000 -be.
Ugyan ez c++ -ban megirva kerül mondjuk 15 emberhónap munka időben és utánna csak 1 szervert igényel az kerül 15*2500 + 1x200x12 = ~ 40000 -be.
Tehát a logikus lépés hogy php-ét használsz még a sebesség hátránnyal együtt is.
Ugyanakkor a terhelés növekedésével eléred azt a pontot, ahol meg kell lépned a c++ -os átirást, mert a szerverek számának növekedése eléri azt a pontot, hogy egyszerüen nem éri meg a php-ét fenttartani. Ugyan akkor egy meglévő kódbázis átmigrálása iszonyatos munka. (én egyszer egy komplett site-ot migráltam mssql, asp.net -ről php - mysql -re. másfél naptári, és körülbelül 10 munka év volt benne.) A facebook jelenleg a becslések szerint kb 10e szervert használ. Ennek nagyjából a fele lehet frontend szerver amin php fut a többi sql, static, memcache. Ha az 5000 szervernek a 20%-át tehát 1000 szervert meg tud takaritani azáltal, hogy ezt a rendszert bevezeti már hatalmasat spórolt. (kb havi 200.000 dollárt) Ugyan akkor igaz az a tétel, hogy nálla egy darab központi kódbázisa van, és ehhez kell alakítania a rendszert, nem kell a drupal, joomla, wp igényeihez alkalmazkodnia.
És tudom, hogy te (ruby on) rails hivő vagy, de ebben az esetben a ruby kb ugyan azt a sebesség értéket produkálja mint a php. Ha nagyon froclizzuk a sebesség kérdését, akkor még a python az ami a mai nyelvek közül a leggyorsabb. Ugyan akkor még kielégitő fejlesztési sebességet nyújt.
Abszúlt egyetértek TLoF és köszi a magyarázatot.
És igen, a Ruby előnye, hogy nagyon gyorsan lehet fejleszteni. De a fejlesztés költségei eltörpülnek a fenntartáséhoz képest egy FaceBook szintű projeknél.
köszi ezt a kis regényt ilyeneket mindig szívesen veszek
Nem értem a fenti mondatodat. A .NET keretrendszer (a .NET Framework) gyors alkalmazásfejlesztést (RAD), platformfüggetlenséget és hálózati átlátszóságot támogató szoftverfejlesztői platform. A .NET Framework eszköztára a szoftverfejlesztés szinte minden aspektusát (kliens- illetve szerveroldali megoldások, adatbázisok kezelése, játékfejlesztés, stb.) lefedi. A CLI-t úgy tervezték, hogy bármilyen objektum-orientált programozási nyelvet támogasson, megosztva egy közös objektum modellt és egy nagy, közös osztálykönyvtárat. A .NET jelenleg több mint 40 programozási nyelvet támogat, melyek többsége ingyenes (a kereskedők fejlesztői környezeteket árulnak).
Te milyen nyelvről raktad át a site-ot? C#, J#, JScript .NET, Managed C++, Visual Basic .NET stb?
Azt gondolom ha nem HTML oldal volt a forrás, akkor neked gyakorlatilag egy új site-ot kellett csinálnod. Hogy van most ez?