Diskova cache a moje dalsi cache

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Září 7 21:33:34 CEST 2008


On Sun, 7 Sep 2008, Dalibor Straka wrote:

> Tak zavadejici vyrok by se dal rici i o spojaku.

V principu ano. Z přísně aplikovaného hlediska asymptotické složitosti se
programy běžící na reálném počítači na ty, které mají složitost omezenu
konstantou, a ty, které se navěky zacyklí. :)

Z praktického hlediska je to ovšem tak, že rozdíl mezi 10 a 100
"teoretickými instrukcemi" může být vlastnostmi reálného počítače
eliminován nebo dokonce otočen v neprospěch těch 10, zatímco u
100 vs 10^9 se asi shodneme, že první možnost bude v praxi vždy řádově
rychlejší než ta druhá.

A navíc: složitost vyhledávání v radixovém stromu je \Theta(l), kde l
je délka klíče v bitech. Ovšem operace jako porovnání klíče nebo spočtení
hašovací hodnoty musí zpracovat celý vstup, a tedy mají složitost
\Omega(l), uvažujme optimisticky \Theta(l). Hašování může být O(1) pouze
za předpokladu, že \Theta(l) \subset O(1), čili že l je omezeno
konstantou, což je předpoklad téhož typu, jako ten diskutovaný.
A pak je O(1) i radixový strom.

A konečně (ať je to trochu relevantní k tématu konference): při množství
lidí, kteří se snaží optimalizovat v jádře každou ptákovinu, je poměrně
nepravděpodobné, že by tamní implementace byla podstatně horší než nějaká
dobře známá alternativa. :)

-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21th century edition /




Další informace o konferenci Linux