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 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 6
    včera 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 7
    včera 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 4
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    16.8. 01:22 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.

    Ladislav Hagara | Komentářů: 1
    15.8. 13:33 | IT novinky

    Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani

    … více »
    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2413 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

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

    30.3.2009 00:19 | Přečteno: 1852× | 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.