Author Archives: Karel Čížex

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

Radix merge sort

Nedávno jsem tu psal o divoké hybridizaci řadících algoritmů, která mě dovedla k mergeselectu. Teď bych chtěl v této cestě pokračovat. Metodou sledování os a hledání průsečíků jsem našel jedno nepokryté místo: Radixovou obdobu merge sortu. Quicksort má radixovou verzi (radixsort) a proto … Continue reading 

Posted in Algo, řazení | Leave a comment

Kompaktní stringy

S tímhle blogem možná skončím. Možná. Rozhodně sem vysypu všechny rozepsané články z bufferu a pak se uvidí. Četl jsem Java 9: Compact Strings Vojtěcha Růžičky o kompaktní reprezentaci řetězců. Stringy, jejichž znaky spadají do ASCII, jsou reprezentovány kompaktně jako byte[]. V článku jsem narazil na: … Continue reading 

Posted in Java, JVM | 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

Mikrobenchmarky jsou těžké

Na Twitteru jsem zaznamenal vtipnou etudu. Stalo se to už před nějakou dobou, ale tenhle článek mi nedokončený ležel na disku. Nicméně začalo to tímhle tweetem. Podle všeho je v Javascriptu if (obj !== undefined) { return obj.x } v průměru o 15% … Continue reading 

Posted in VM | Leave a comment