Diskova cache a moje dalsi cache

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Září 13 18:59:57 CEST 2008


On Mon, 8 Sep 2008, Martin `MJ' Mares wrote:

> Tohle je ovšem značně závislé na použitém výpočetním modelu 

To je pravda, ale...

> -- na Turingově stroji je to samozřejmě pravda, na Random Access Machine
> (což je pro běžné algoritmy častěji přijímaný model) už nikoliv.

Pokud se složitost u RAM počítá opravdu pořádně, tak se AFAIK musí
zohlednit velikosti zpracovávaných hodnot (nejen prostý počet instrukcí),
čili pořád platí, že a porovnání dvou hodnot klíčů budu obecně potřebovat
čas lineární vzhledem k počtu jejich bitů. Připouštím, že u výpočtu
hašovací hodnoty to lze občas vzít zkratkou a lze jí spočítat jen z určité
části vstupu (např. typické mod 2^n).

I když teď vidím, že je tam pak háček druhého stupně: to samé pak musím
pro RAM aplikovat i na hodnoty použité coby ukazatele, čili přístup přes
ukazatel mě stojí až log n, kde n je max. použitá adresa. Hašovací tabulka
tuto penalizaci dostane s velkou pravděpodobností jen jednou (tedy
aditivně), ale strom při každém průchodu skrz uzel (čili multiplikativně).
(V případě TM, když už tady byl zmíněn, je to penále cca lineární vůči
délce pásky.)

-- 
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