abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 2
    včera 13:55 | Komunita

    Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.

    Ladislav Hagara | Komentářů: 10
    28.4. 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:22 | Zajímavý projekt

    TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.

    Ladislav Hagara | Komentářů: 0
    28.4. 17:00 | Nová verze

    Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.

    Ladislav Hagara | Komentářů: 5
    27.4. 21:33 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 486 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Zrýchlenie aplikácií so Zend_Framework o 33 až 50%

    30.3.2009 00:19 | Přečteno: 1672× | programovanie

    Pomerne malým zásahom do zdrojákov Zend Framework-u je možné získať zaujímavý boost.

    Nedávno som narazil na pomerne zaujímavo písanú online knihu s typmi a trikmi, týkajúcimi sa efektívneho využívania Zend Frameworku pri vývoji webových aplikácií. Výkonovej optimalizácii sa venuje celá jedna kapitola. Tam sa možno dočítať, že knižnice ZF sú doslova vystlané príkazmi require_once(). Tie sa počas runtime načítavajú zvyčajne zbytočne, nakoľko ZF implementuje vlastný autoloader. Naťahované súbory sa zbytočne čítajú z disku a sú zbytočne parsované serverom.

    V knihe je doporučuje príkazy require_once() v rámci zdrojákov ZF zakomentovať, k čomu autor hneď uvádza shell skript, ktorý nám toto zaistí. Ani som len netušil aké zrýchlenie môže tákáto jednoduchá zmena priniesť. Okrem toho sa v knihe doporučuje nahradiť pomerne komplexnú triedu Zend_Loader nejakým jednoduchším kódom. Napísal som teda tú najjednoduchšiu implementáciu autoloadingu v PHP (funkcia __autoload()) s čo najmenšou réžiou a otestoval aj toto.

    Nakoľko som testoval pod Win Vista, napísal som si pre zakomentovanie príkazov vlastný PHP cli skript. Na testovanie som použil Quick Tutorial aplikáciu z oficiálnych stránok ZF. Jedná sa o pomerne malú aplikáciu, ale obsahuje aj pokročilejšie veci ako napr. komunikácia s databázou (SQLite), formulár a generátor ASCII captcha.

    Testoval som prvé tri stránky, zápis do DB som netestoval, nakoľko ma zaujímala iba rýchlosť samotného frameworku (dispatchingu). Na prvom a poslednom riadku index.php som si do premenných uložil micročas (funkcia microtime()) a potom vypočítal ich rozdiel, čím som získal čas generovania stránky. Výsledok som ukladal to súboru ako plaintext.

    Testovanie prebiehalo na mojej lokálnej mašine (Intel C2D E8200@3.2GHz, 4GB RAM, Vista 32b), ako browser som použil FF v3.0.8, ako server Apache 2.2, PHP 5.0.6. Systém mám pomerne čistý, osekaný a optimalizovaný, takže počas testu ma neobťažovalo žiadne hrabanie disku alebo something like that. Nepoužil som žiadne pokročilé benchmarkovanie, jednoducho som v browseri 10x zobrazil danú stránku, z textového súboru som získal časy, tie som spriemeroval a zaniesol do grafov. No a tu už sú namerané výsledky (v sekundách).

    http://zendquickstart/
    1. Zend FW: 0,370390725 2. Zend FW modified: 0,218486619 3. Zend FW modified + Srigi_Loader: 0,220104504

    Už indexová stránka ukazuje tretinové zrýchlenie modifikovaných knižníc. Naopak vlastný loader nijaké zrýchlenie nepriniesol. Implementácia Zend_Loader je teda na dobrej (rýchlej) úrovni, loader netreba vymieňať.

    http://zendquickstart/guestbook
    1. Zend FW: 0,408349991 2. Zend FW modified: 0,276227617 3. Zend FW modified + Srigi_Loader: 0,275886512

    Stránka s výpisom príspevkov ukazuje menšie zrýchlenie, asi kvôli komunikácii s databázou.

    http://zendquickstart/guestbook/sign
    1. Zend FW: 0,914611769 2. Zend FW modified: 0,449567389 3. Zend FW modified + Srigi_Loader: 0,446687531

    Stránka na pridanie nového príspevku naťahuje triedy Zend_Form a Zend_Captcha (naopak vôbec nekomunikuje s databázou), štandardné ZF knižnice teda naťahujú kopec balastu, ktorý sa parsuje zbytočne. Zrýchlenie je veľmi markantné.


    Záver
    Ako vidno z testov, malá modifikácia knižníc Zend Frameworku, ktorá naviac nijako neovplyvní funkčnosť, prináša veľmi výrazne zrýchlenie. Určite sa oplatí knižnice modifikovať.        

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Zrýchlenie aplikácií so Zend_Framework o 33 až 50%, obrázek 1 Zrýchlenie aplikácií so Zend_Framework o 33 až 50%, obrázek 2 Zrýchlenie aplikácií so Zend_Framework o 33 až 50%, obrázek 3 Zrýchlenie aplikácií so Zend_Framework o 33 až 50%, obrázek 4 Zrýchlenie aplikácií so Zend_Framework o 33 až 50%, obrázek 5 Zrýchlenie aplikácií so Zend_Framework o 33 až 50%, obrázek 6

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    30.3.2009 01:12 mrzout | skóre: 11 | blog: mrzutej
    Rozbalit Rozbalit vše Re: Zrýchlenie aplikácií so Zend_Framework o 33 až 50%

    šlo by to otestovat ještě proti nějaké cache (například APC)?

    Hlasuj pro zavedení OpenID na Abclinuxu!
    mirec avatar 30.3.2009 09:52 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Zrýchlenie aplikácií so Zend_Framework o 33 až 50%
    APC do istej miery zrýchľuje práve includovanie a parsovanie. Benchmark sa mi moc robiť nechce ... ale ak by sa niekomu chcelo ... V každom prípade mám s APC celkom dobre skúsenosti, zrýchlenie často cez 50%.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    30.3.2009 12:56 mrzout | skóre: 11 | blog: mrzutej
    Rozbalit Rozbalit vše Re: Zrýchlenie aplikácií so Zend_Framework o 33 až 50%

    Právě proto.

    Upravovat knihovnu po každé aktualizaci se mi nechce: nikdy bych si nebyl jist, zda jsem tam nezanesl chybu.

    APC používám a předpokládám, že by ty rozdíly mezi testovacíma verzema významě snížila.

    Hlasuj pro zavedení OpenID na Abclinuxu!
    30.3.2009 14:08 Koubas
    Rozbalit Rozbalit vše Re: Zrýchlenie aplikácií so Zend_Framework o 33 až 50%

    Doporucuju taky zkusit e-accelerator misto APC, je jeste o neco rychlejsi a je na nem i znat, kdyz se mu v konfiguraci zapne optimalizaci kodu. Mimo jine nabizi rozsirenejsi praci se sdilenou pameti, bohuzel pro nej ZF zatím nemá v jádre cachovaci backend - kteryzto jsem si behem par minut napsal sam, staci forknout a zmenit par nazvu funkci u Zend_Cache_Backend_Apc :]

    30.3.2009 03:42 Jiří Pospíšil
    Rozbalit Rozbalit vše Re: Zrýchlenie aplikácií so Zend_Framework o 33 až 50%

    Nejsem si jistý, který dokument vznikl první, ale všechny důležité optimalizace jsou už dávno napsány přímo v manuálu ZF, konkrétně trik se zakomentováním require_once: framework.zend.com/manual/en/performance.classloading.html#performance.classloading.striprequires

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.