Antoine Pitrou <pit...@free.fr> added the comment: > I'm having trouble understanding the technique of the jump table. Can > you provide some links to papers that explain the threaded code? I'm > interested in learning more.
I haven't read any papers. Having a jump table in itself isn't special (the compiler does exactly that when compiling the switch() statement). What's special is that a dedicated indirect jump instruction at the end of each opcode helps the CPU make a separate prediction for which opcode follows the other one, which is not possible with a switch statement where the jump instruction is shared by all opcodes. I believe that's where most of the speedup comes from. If you read the patch it will probably be easy to understand. I had the idea to try this after a thread on pypy-dev, there are more references there: http://codespeak.net/pipermail/pypy-dev/2008q4/004916.html > How does your implementation compare to the GForth based threaded code > speedwise? Don't know! Your experiments are welcome. My patch is far simpler to integrate though (it's small, introduces very few changes and does not break any existing tests). _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue4753> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com