Halting problém se v praxi neřeší. Buď algoritmus skončí do příštího pondělí nebo letí ze skály.
Složitost se v praxi nestuduje protože je to marná práce, teoretický výpočet příliš zatěžuji vnější vlivy jako cache nebo HDD. Všechny algoritmy které umíme naimplementovat se zbenchmarkují na testovacích datech (to by se dělalo tak jako tak) a máme jasno.
Myslím si, že máte zlý prístup a z toho vyvodzujete nepoužiteľnosť teórie (týmto nehovorím, že sa to používa - akurát sa mi zdajú spomínané dôvody nezmyselné).
Na cache máme cache-oblivious prístup, ktorý umožňuje navrhovať algoritmy tak, aby sa správali optimálne ku cache, aj keď nevedia jej veľkosť. Pri HDD sa zase počíta zložitosť tak, že sa zanedbajú jednoduché výpočty CPU a počítajú sa hlavne časy seekov, "pootočenia disku", čítania dát a pár zanedbateľne malých časov. Vďaka tomu môžem aj zjednodušiť celý systém tak, že nebudem uvažovať zbytočne veľké dátové štruktúry nad dátami chovajúce sa teoreticky veľmi dobre, ak viem, že ma samotný seek až toľko nestojí (10ms na seek pri 100MB/s je 1MB - takže ak by som mal čítať štruktúru o veľkosti viac ako 1MB, tak uprednostním seek).