k47.cz  — každý den dokud se vám to nezačne líbit
foto Praha výběr povídky kultura
twitter FB RSS
««« »»»

Meta pěti vteřin/kult rychlosti

26. 8. 2018 — k47

Po té vče­rejší nehodě mě docela bolí za krkem. Uka­zuje se, že letět hlavou napřed do hli­ně­ného náručí ma­tičky Země není úplně ide­ální způsob jak trávit soboty.

Z důvodu ší­jo­vých bo­lestí a per­ma­nentní ospa­losti (to nemusí mít nic spo­leč­ného s ha­vá­rií, ale jen se špat­ným spán­ko­vým re­ži­mem), jsem seděl stří­davě v Cele a jejím okolí, pil kafe tak silné, že z něj spon­tánně star­to­valy motory v okruhu tří ki­lo­me­trů a dělal na as­cii­blogu.

Když říkám as­cii­blogu, ne­mys­lím ite­raci k47čky mezi 3. únorem 201731. pro­sin­cem stej­ného roku, ale soft­ware který tento web pohání a ge­ne­ruje.

Vždycky je něco, co by se v něm dalo zlep­šit, nějaké malé no­vinky, vy­chy­távky a změny. Z větší části jde o ma­chi­nace pod ka­po­tou, téměř ne­vi­di­telné pro čte­náře, který se zrovna ne­pro­dírá masiv­ním ar­chi­vem a ne­hledá chyby a po­div­nosti. Mezi vi­di­telné novoty patří třeba seznam častých tagů (zob­ra­zuje se na hlavní stránce pod prvním člán­kem) a lepší zob­ra­zení na mo­bi­lech (za tohle můžete dě­ko­vat foto rai­de­rovi J.). Není toho moc. Vět­šina práce se totiž týká rych­losti. Nikoli rych­losti zob­ra­zení nebo ve­li­kosti HTML strá­nek, ty jsem se­se­kal už do­sta­tečně blízko minimu, ale rych­losti ge­ne­ro­vání webu.

Online tvář K47čky je tvo­řená asi 4000 HTML do­ku­menty. Každý z nich je znovu vy­ge­ne­ro­ván při každé ak­tu­a­li­zaci – když udělám ně­ja­kou změnu a chci vidět, jak vypadá, musí se načíst kom­pletní zdro­jové texty, roz­lá­mat na články, jejich text na­par­so­vat, data ma­sí­ro­vat různě bi­zar­ními trans­for­ma­cemi a na­ko­nec je pře­lo­žit do kryp­tic­kých značek HTML jazyka.

Před pár týdny celý proces při pa­ra­lel­ním běhu na 4 já­drech trval 8 vteřin. Teď trvá něco pod 6 vteřin na je­di­ném vlákně. Můj cíl je do­sáh­nout 5 vteřin sek­venč­ního času. Vím jak se na tu metu dostat, je po­třeba jen čas a trochu ma­za­nosti – jít na to pomalu, měřit jaké kroky za­be­rou nej­více času a po­stupně ose­ká­vat mi­li­sekundy po de­sít­kách a stov­kách. Vět­ši­nou nejde o nic kom­pli­ko­va­ného: Zby­tečná práce je zby­tečná, pří­lišná alo­kace stojí čas, re­gu­lární výrazy jsou pomalé a tak po­dobně.

Přitom na rych­losti ne­zá­leží. Rozdíl tři vte­řiny? Kdo ho ocení, když si ho vy­chutná na­nej­výš pár­krát denně. V pří­padě as­cii­blogu jde o pu­ris­mus – chci trefit pár ab­so­lut­ních met – ma­xi­mální možná rych­lost na­čí­tání stránky a ma­xi­mální možná rych­lost ge­ne­ro­vání webu. Není k tomu žádný zvláštní důvod, ale ten není k ničemu. Jen jsem si vy­ty­čil pra­vi­dla a chci podle nich hrát až do konce.


+1: V nej­bliž­ších dnech napíšu návod jak po­u­ží­vat as­cii­blog k na­star­to­vání vlast­ního webu/blogu.

+2: Teprve teď jsem si všiml, že mám pěkně sedřené i pravé rameno. Kdyby se mi to stalo na as­faltu, byl bych ro­ze­braný, jako kdyby mě někdo drbal stru­ha­dlem.

píše k47 & hosté, ascii@k47.cz