Category Archives: JVM

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

Escape analysis

Dneska jenom krátce: Nedávno jsem zakopl o paper popisující partial escape analysis a napadlo mě, že bych tu mohl napsat pár slov o tom, co je escape analysis vlastně zač (termín s dovolením nebudu překládat a vystačím si s kurzívovou metodou). Escape analysis je … Continue reading 

Posted in Algo, JVM, VM | 8 Comments

I ve Scale se dá psát rychlý generický kód za použití typeclass

Nedávno jsem tu psal o tom, jak se dá rychle vypočítat Jaccardova podobnost. Rychle bylo klíčové slova a jediná věc na které skutečně záleželo. Právě kvůli rychlosti jsem do knihovny sketches přidal verzi této rutiny (a pár dalších funkcí) specializovanou pro … Continue reading 

Posted in JVM, Scala, VM | Leave a comment

Jak JVM volá virtuální metody, jaká temná božstva musí vzývat, aby to bylo aspoň trochu rychlé

Aleksey Shipilёv v (ne)dávné době napsal velice obsáhlý článek o volání virtuálních metod v JVM: The Black Magic of (Java) Method Dispatch. Do detailů v něm popsal všechny způsoby, jak lze volat virtuální metody, vysvětlil všechny optimalizace, které JIT javovského virtuálního stroje dělá … Continue reading 

Posted in CPU, Java, JVM, Typy, VM | 1 Comment

Bez typů se obejdeme, ale…

Však to znáte, něco tweetnete a jedna odpověď vás donutí napsat celý článek jako vysvětlení, co je tím vlastně myšleno. Dneska to byla tato perla nevšední krásy (odsud): Without soundness, types can merely be used as optimisation hints, but the … Continue reading 

Posted in JVM, Typy, VM | Leave a comment