A single line of code made a 24-core server slower than a laptop
An aside:<p>> L3 cache is shared by all cores of a CPU.<p>I recently learned this is no longer true! AMD EPYC processors (and maybe other recent AMDs?) divide cores into groups called "core complexes" (CCX), each of which has a separate L3 cache. My particular processor is 32-core where each set of 4 cores is a CCX. I discovered this when trying to figure out why a benchmark was performing wildly differently from one run to the next with a bimodal distribution -- it turned out to depend on whether Linux has scheduled the two processes in my benchmark to run on the same CCX vs. different CCXs.<p><a href="https://en.wikipedia.org/wiki/Epyc" rel="nofollow">https://en.wikipedia.org/wiki/Epyc</a> shows the "core config" of each model, which is (number of CCX) x (cores per CCX).