- Cheaper Python frames are enabled by making some semantic changes to the language, mostly by removing some dynamic functionality that no one uses
- "Inlined Python function calls" is a bit misleading: Python functions are not inlined, it's the "code that does the bookkeeping for calling a Python function" that is now eliminated for Python-to-Python calls.
- The most important part of the specializing interpreter is the attribute caching, which is quite significant
Source: I work on Pyston, where we do many similar things (but can't make semantic changes to the language)
- Cheaper Python frames are enabled by making some semantic changes to the language, mostly by removing some dynamic functionality that no one uses
- "Inlined Python function calls" is a bit misleading: Python functions are not inlined, it's the "code that does the bookkeeping for calling a Python function" that is now eliminated for Python-to-Python calls.
- The most important part of the specializing interpreter is the attribute caching, which is quite significant
Source: I work on Pyston, where we do many similar things (but can't make semantic changes to the language)