
Further Optimizing my Java SwissTable: Profile Pollution and SWAR Probing
Part 2: optimizing the hot path (and finding a weird villain) “Why Objects.equals() showed up in the profile—and why SWAR beat the Vector API on ARM (and x86). In the last post, I finally got a SwissTable-ish map running on the JVM and fast enough to make me smile. Naturally, that meant I immediately started staring at the profiler again, thinking: okay… but how do I make it faster? This follow-up is about that next round of tuning—where the improvements come less from “big design ideas” and more from noticing one weird hotspot at a time, pulling on the thread, and ending up somewhere unexpected. ...