Category Archives: CPU

Von Neumannovy lži

Asi takhle: Existují dvě široké rodiny procesorů. Na jedné straně Von Neumannovy stroje a na druhé data-flow mašiny. První jmenovaná zpracovává jednu instrukci za druhou, druhá k programu přistupuje jako ke grafu závislostí, kdy každá operace je závislá na některých předcházejících … Continue reading 

Posted in CPU | 5 Comments

Iterace křížem krážem

Tenhle článek bych klidně mohl začít clickbait titulkem: „Jeden neuvěřitelný trik, který zrychlí vaše programy,“ a ani bych se za to nestyděl. Asi takhle: Když zpracovávám hromadu dat v několika průchodech (které z nějakých důvodů není možné spojit do jednoho), může nastat … Continue reading 

Posted in Algo, CPU, low level | Leave a comment

Lokalita v grafech a negrafech

Dneska jen krátce a stručně. V posledních dnech jsem hodně četl o garbage collectorech. Byla to zajímavá exkurze do pulzujících střev virtuálních strojů, ale o tom teď nechci psát. Chci se zmínit o něčem mnohem menším a skromnějším, co mě nejspíš napadlo po masáži … Continue reading 

Posted in Algo, CPU | Leave a comment

Maximálně negativní

Když už jsem v tom, tak bych po minulém článku, tu mohl zmínit dvě drobnosti, které se nesou v podobném duchu. Jedna je jakž takž užitečná a druhá je jen intelektuální kuriozita. #1 Nějakou dobu jsem ve Scale při řazení podle intů … Continue reading 

Posted in CPU, low level | Leave a comment

Závislost je špatná (pro vaše programy i pro váš hardware)

Když jsem nedávno civěl do zdrojáků knihovny breeze, narazil jsem na kód pro slakární součin, který vypadal zhruba takhle: double sum0, sum1, sum2, sum3 = 0.0; // … for(int i = 0; i < length; i += 4) { sum0 … Continue reading 

Posted in CPU | 2 Comments