Personal thoughts about Pyston's outcome
This is not specific to just Python, but I have often wondered if it would be a productive exercise to write a <i>static</i> compiler for a dynamic language which also supported optional static typing.  Presumably this compiler could generate code that is faster than an interpreter like CPython, but slower than what you can get out of a high performance JIT, since a JIT can do dynamic optimizations and function inlining.  However, once you add static type notations, the static compiler can (for some cases) generate code that&#x27;s actually faster than a JIT.  Typically you&#x27;d only need to add type notations to hot spot code, and you could use profiling from previous runs to figure out what type annotations to use and where to put them.<p>Using a JIT to generate very fast code for dynamic (even highly dynamic) languages is a really interesting topic.  But it seems to involve jumping through a lot of hoops to get performance that is a fraction of what you can get out of an early 1990&#x27;s era C compiler (or Pascal compiler, for that matter).