I know this is a n00b question, so I apologize ahead of time.

I've been taking a look at they python interpreter, trying to understand how it works on the compiled byte-codes.  Looking through the sources of the 2.4.1 stable version, it looks like Python/ceval.c is the module that does the main dispatch.  However, it looks like a switched interpreter.  I just find this surprising because python seems to run pretty fast, and a switched interpreter is usually painfully slow.

Is there work to change python into a direct-threaded or even JIT'ed interpreter?  Has there been previous discussion on this topic?  I'd greatly appreciate any pointers to discussions on this topic.  Thus far my google-fu has not turned up fruitful hits. 

Thanks in advance for any help!