Daily Shaarli
December 29, 2023

We investigate the unusual way memory subsystem interacts with branch prediction and how this interaction shapes software performance.
Recently, on LinkedIn, I read a post about an engineer who was surprised that his new, optimized version of a parser was slower than the original. The optimization consisted of removing the branches, which are the source of all evil according to the common knowledge in the street, right? His new version was slower, and a benchmark opened his eyes.

We've all been there: the trains you're servicing for a customer suddenly brick themselves and the manufacturer claims that's because you...