Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).
Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.
Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.
Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
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é.
Tiskni
Sdílej:
šlo by to otestovat ještě proti nějaké cache (například APC)?
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.
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 :]
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