We've received reports of MSVC not generating optimal code, e.g. gh-89279.
One possible improvement would be to get the big switch statement in ceval.c to generate better code. It's been rumored that MSVC will generate essentially a computed goto if all cases are filled.
Apparently a switch on an 8-bit quantity where all cases are
present generates a more efficient jump (doing only one indexed
memory load instead of two).
So we make opcode and use_tracing uint8_t, and generate a macro
full of extra `case NNN:` lines for all unused opcodes.
See faster-cpython/ideas#321 (comment)
We've received reports of MSVC not generating optimal code, e.g. gh-89279.
One possible improvement would be to get the big switch statement in ceval.c to generate better code. It's been rumored that MSVC will generate essentially a computed goto if all cases are filled.
See my investigations at faster-cpython/ideas#321 (comment)
The text was updated successfully, but these errors were encountered: