[issue4753] Faster opcode dispatch on gcc
report at bugs.python.org
Sat Jan 3 14:22:38 CET 2009
Antoine Pitrou <pitrou at free.fr> added the comment:
> I'm not an expert in this kind of optimizations. Could we gain more
> speed by making the dispatcher table more dense? Python has less than
> 128 opcodes (len(opcode.opmap) == 113) so they can be squeezed in a
> smaller table. I naively assume a smaller table increases the amount of
> cache hits.
I don't think so. The end of the current table, which doesn't correspond
to any valid opcodes, will not be cached anyway. The upper limit to be
considered is the maximum value for a valid opcode, which is 147.
Reducing that to 113 may reduce cache pressure, but only by a tiny bit.
Of course, only experimentation could tell us for sure :)
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list