Category Archives: Paměť

Mýtus o O(1) paměti

Vzpomínám si, jak se mě po jedné z přednášek, kde jsem dlouze mluvil o tom, jak drastický má hardware efekt na naše křehké algoritmy a příčetnost, někdo zeptal, jestli to není jen honba po artefaktech a podivnostech současného hardwaru, a tedy v dlouhodobém … Continue reading 

Posted in CPU, Paměť | Leave a comment

Úvod do podivností moderního hardwaru, které vás budou budit ze spaní

Nezasvěceným se může chování hardware a procesorů zvlášť zdát zcela bizarní a nepochopitelné, plné nesmyslných výjimek a nástrah čekajících na nepozorné, které můžou způsobit nevysvětlitelný propad výkonu. Optimalizace pak vypadá jako jakási prastará forma okultní magie, srozumitelná jen kruhu zasvěcených. … Continue reading 

Posted in CPU, Paměť | 2 Comments

Jak rychle řadit a šetřit čas

Když už tu mluvím o řazení a řadící mašinerii, tak bych taky mohl stručně a srozumitelně shrnout co, jak a proč dělat a čemu se vyhnout. Asi takhle: Obecné řadící algoritmy jako quicksort, mergesort nebo heapsort jsou super. Sami o sobě nejsou … Continue reading 

Posted in Algo, CPU, Paměť, řazení | Leave a comment

Jak řadit v lineárním čase, křísit mrtvé a dosáhnout osvícení

Když se řekne řazení, většina lidí, kteří napsali víc než jednu smyčku a dva ify se zeptá: „A je to nutné?“ Řazení nemá pověst nejrychlejší operace pod sluncem a je preferováno, když se tomu dá vyhnout např. hashováním. Někdy je to … Continue reading 

Posted in Algo, CPU, Paměť, řazení | 3 Comments

Někdy je nejchytřejší nedělat nic chytrého (další kapitola nekonečného příběhu o optimalizaci)

Nedávno se na Twitteru objevil článek Fast Nearest Neighbor Queries in Haskell, který představuje novou knihovnu, která dokáže za pomoci velice chytrých algoritmů dělat nearest neighbor dotazy rychleji než jakýkoli jiný nástroj na planetě. Nearest neighbor dotaz je takový, který … Continue reading 

Posted in Algo, CPU, Paměť | 2 Comments