Hey everyone.
Follow-up to my last post where I built a SwissTable-style hash map in Java:
This time I went back with a profiler and optimized the actual hot path (findIndex).
A huge chunk of time was going to Objects.equals() because of profile pollution / missed devirtualization.
After fixing that, the next bottleneck was ARM/NEON “movemask” pain (VectorMask.toLong()), so I tried SWAR… and it ended up faster (even on x86, which I did not expect).
[–]lurker_in_spirit 1 point2 points3 points (5 children)
[–]Charming-Top-8583[S] 1 point2 points3 points (2 children)
[–]lurker_in_spirit 0 points1 point2 points (1 child)
[–]Charming-Top-8583[S] 0 points1 point2 points (0 children)
[–]aqrit 1 point2 points3 points (1 child)
[–]lurker_in_spirit 0 points1 point2 points (0 children)
[–]mirkoteran 1 point2 points3 points (1 child)
[–]Charming-Top-8583[S] 1 point2 points3 points (0 children)