PHP alapú keretrendszerek sebessége

Címkék

Rasmus Lerdorf, a PHP atyja a szegedi DrupalCon-on előadást tartott a PHP alapú keretrendszerek, CMS-ek sebességéről, hatékonyságáról és korlátairól. A keynote során röviden beszélt a PHP születéséről, programozási filozófiájáról, majd különböző alkalmázsokat, keretrendszereket (Laconica, CakePHP, Symfony, Zend etc.) és végül a Drupal-t benchmarkolta. Egy sor benchmarking trükköt mutatott be, amivel kiszűrhető a hibás, vagy rosszul teljesítő kódrészlet.

Az előadás letölthető innét, minden PHP programozónak csak javasolni tudom.

Hozzászólások

Számít melyik a "gyorsabb"?

Codeigniter fut php4 alatt, ergó nem használja ki a php5 oop képességeit: nincsenek interface-ek, abstract osztályok, ilyesmi.

Ilyen alapon Pistike php programjával is össze lehetne hasonlítani: elején kapcsolódik a db-hez, listáz, tolja a html-t, és talán le is zárja a db kapcsolatot. Biztoso, hogy szépen struktúrált (1 lap = 1 url, semmi sallang), és gyors is.

CI-ben egy normális form generátor nincs. Kicsit se gáz az egész, mondjuk a Zend Framework-höz képest.
De legalább gyors. :P

--
http://internode.hu

codeigniter php4/php5 is alatt fut, mivel 2 különböző magja is van, kihasználja php5-öt, nézd csak meg a system foldert.

igen, számít, nem mindegy hogy ugyanazon a hardveren percenként 300 vagy 1000 felhasználót tudsz kiszolgálni

van hozzá form library csak keresni kell az oldalán

Ez a form lib nem az a form lib, amit én keresek.

Lehet, hogy a magból van php5-ös, de a nagy része nem az.

De mind1 is. "CI fejlesztővel nem vitatkozunk, mert mindent ugyis jobban tud." (TM by me)

Nem változtat az egészen semmit az, hogy pisitke 1 oldalas php programja sokkal gyorsabb lenne 2 db változó kiiratásakor. Sima html oldal meg mégyorsabb.

Én nem tudom "gyorsan" összerakni az oldalaimat, főleg nem kilóra rakom össze, de ez meg az én bajom. hehe.

--
http://internode.hu

Controllerben betoltod pl. igy:
$this->valami = new valami();
innentol kezdve a kontrolleren belul ugye evidens modon elered, ha mashonnan kell, akkor:
Kohana::instance()->valami
ha mindig be akarod tolteni, akkor tedd a controller constructoraba, ha minden kontrollerben szeretned elerni, akkor hozz letre az application/libraris/MY_Controller.php -t amiben a Controller extendelje a Controller_Core -t.
es tedd bele ennek a constructoraba.
ha jol emlekszem.

Tyrael

szerintem céges szempontból nagyon fontos, hogy mondjuk egy brandsite kialakítása ne 2 hónap legyen.

én inkább azt mondanám, hogy a CI egy jó eszköz, de nem mindenre. biztos van olyan, amihez jobb a zend framework (az is megérne egy vitát, hogy a zend framework mitől is framework). de a nálunk lévő munkák 99,9%-ához jobb a CI mint bármi más.

A ZF a nevében framework... :D
De igazából egy remek komponenes gyűjtemény. Az igazi framework-öt te rakod össze magadnak a saját szájad ize szerint. Ezt a ZF nagyon jól támogatja, nem szól bele, te hogyan szereted, szeretnéd kialakítani a saját rendszered.

Az eleján a ZF bizonyára lassabb. De utána, ha már megcsináltál magadnak egy-két dolgot, akkor a fejlesztés nagyon meggyorsul.

Számomra a nagyon átgondolt, és már most is nagyszámú komponens struktúra az, ami vonzó.

--
http://internode.hu

a Drupal relative rossz szereplesehez hozza tartozik, hogy Rasmus caching nelkul probalta ki, aggressive cache-vel kb 400 kiszolgalas/sec-ig fel lehet tornazni a sebesseget.

A másik pedig, hogy itt initial overhead-ről van szó, nem egy komolyabb implementációról, ez pedig nem mond semmit. Rasmus ki is fejtette, hogy a legkevésbé a PHP interpreter gyorsasága és sebezhetősége az, amin fejleszteni lehet.

--
Aries
http://aries.mindworks.hu
http://mindworks.hu/blog/aries