1231
Vývoj / Re:Dědičnost dnes
« kdy: 02. 02. 2017, 12:47:30 »No prave ze ten logaritmus (ne velikosti programu ale dat) muze byt casto v realu az moc optimisticky odhad :-/
http://www.ilikebigbits.com/blog/2014/4/21/the-myth-of-ram-part-i
Což je další argument proti používání funkcionálního programování všude.
Zkus to, prosim, ozavorkovat

Tedy realna RAM neni O(1), ale spis O(log n), a takovou RAM lze realizovat i funkcionalne (pomoci stromu).
Tak to určitě neplatí. Čas přístupu do paměti neroste logaritmicky s velikostí vstupu programu. O(1) je jen horní odhad rychlosti operace. Stačí uvažovat nejpomalejší možný přístup. Pořád to bude reálnému hardwaru mnohem blíž než Turingův stroj.
No prave ze ten logaritmus (ne velikosti programu ale dat) muze byt casto v realu az moc optimisticky odhad :-/
http://www.ilikebigbits.com/blog/2014/4/21/the-myth-of-ram-part-i
To je teda dobrá volovina! Vzít teoretický koncept a aplikovat ho na jedno konkrétní technické řešení... Např. v mém embedded světě nic takového neplatí. Navíc cache slouží k urychlení práce s pamětí! Autor to obrátil, vzal tu urychlenou práci za O(1) a zkoumal, o kolik pomalejší to ve skutečnosti je. Ve skutečnosti O(1) je právě ten přístup bez cache a měl případně zkoumat, o kolik je to s cache lepší než teoretická O(1).
A jak muze byt cache lepsi nez teoreticka O(1)? (hint: zamysli se nad tim, co to O znamena)
Jinak samozrejme vsechny tyhle aplikace vyzaduji nejakou davku nasili. Protoze realny pocitac s omezenou RAM a SSD ma ostatne konecny pocet stavu a tak je to, vzato do dusledku, konecne automat