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í
×
včera 10:55 | Komunita

Vše nejlepší k dnešnímu Software Freedom Day (SFD, Wikipedie).

Ladislav Hagara | Komentářů: 2
20.9. 17:55 | Komunita

V Berlíně probíhá do neděle linuxová konference All Systems Go! 2019. Na programu je řada zajímavých přednášek. Sledovat je lze online. Videozáznamy jsou k dispozici jak na media.ccc.de. Dění lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 0
20.9. 15:11 | Nová verze

Byla vydána nová stabilní verze 2.8 (2.8.1664.35) webového prohlížeče Vivaldi (Wikipedie). Přehled novinek v příspěvku na blogu. Z novinek vývojáři zdůrazňují synchronizaci s Vivaldi pro Android. Nejnovější Vivaldi je postaven na Chromiu 77.0.3865.78.

Ladislav Hagara | Komentářů: 12
19.9. 21:11 | Nová verze

Po půl roce vývoje od vydání verze 8.0.0 byla vydána verze 9.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, Extra Clang Tools, LLD a Libc++. Vývojáři zdůrazňují podporu "asm goto", díky které lze pomocí Clangu přeložit například Linux pro x86_64 (CONFIG_JUMP_LABEL=y).

Ladislav Hagara | Komentářů: 8
19.9. 14:00 | Nová verze

Bylo vydáno Eclipse IDE 2019-09 aneb Eclipse 4.13. Představení novinek na YouTube. Vydána byla také nová verze 7 online IDE Eclipse Che.

Ladislav Hagara | Komentářů: 0
19.9. 11:11 | Nová verze

Byla vydána verze 24.0 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek na GitHubu nebo pomocí krátkých videí na Twitteru.

Ladislav Hagara | Komentářů: 3
19.9. 11:00 | Komunita

Microsoft představil a pod licencí SIL Open Font License (OFL) na GitHubu zveřejnil font Cascadia Code. Font je určen především pro zobrazování textu v emulátorech terminálu a vývojových prostředích (Přehled fontů s pevnou šířkou).

Ladislav Hagara | Komentářů: 19
18.9. 21:11 | Zajímavý software

Souborový systém exFAT se běžně používá na paměťových médiích jako karty SDXC, ale z licenčních důvodů jej nebylo možné začlenit do Linuxu, ačkoliv v roce 2013 unikl ovladač od Samsungu, jak shrnuje článek na Linux Weekly News. Park Ju Hyung nedávno vzal novější verzi ovladače od Samsungu a založil na ní vlastní projekt exfat-linux, který je k dispozici uživatelům.

Fluttershy, yay! | Komentářů: 12
18.9. 05:55 | Pozvánky

Dnes a zítra pořádá Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) ve spolupráci se studentským portálem Security Outlines konferenci CyberCon Brno 2019. Sledovat ji lze také online.

Ladislav Hagara | Komentářů: 0
18.9. 04:44 | Nová verze

Byla vydána Java 13 / JDK 13. Nových vlastností (JEP - JDK Enhancement Proposal) je 5. Nová Java / JDK vychází každých 6 měsíců.

Ladislav Hagara | Komentářů: 2
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (11%)
 (37%)
 (27%)
 (2%)
Celkem 198 hlasů
 Komentářů: 21, poslední včera 09:11
Rozcestník

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

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