
On 22Oct2020 1341, Marco Sulla wrote:
On Thu, 22 Oct 2020 at 14:25, Mark Shannon <mark@hotpy.org <mailto:mark@hotpy.org>> wrote:
MSVC seems to do better jump fusion than GCC.
Maybe I'm wrong, since I only take a look at dict, tuple and set C code, but it does not seems to me that there's more than 1-2 GOTOs in every CPython function, and they can't be merged.
There are vastly more jumps generated than what you see in the source code. You'll need to compare assembly language to get a proper read on this. But I don't think that's necessary, since processors do other kinds of clever things with jumps anyway, that can variously improve/degrade performance from what the compilers generate. Benchmarks on consistent hardware are what matter, not speculation about generated code. Cheers, Steve