On Fri, 16 Nov 2018 09:46:36 -0800
Brett Cannon
I think part of the challenge here (and I believe it has been brought up elsewhere) is no one knows what kind of API is necessary for some faster VM other than PyPy. To me, the only C API that would could potentially start working toward and promoting **today** is one which is stripped to its bare bones and worst mirrors Python syntax. For instance, I have seen PyTuple_GET_ITEM() brought up a couple of times. But that's not syntax in Python, so I wouldn't feel comfortable including that in a simplified API. You really only need attribute access and object calling to make object indexing work, although for simplicity I can see wanting to provide an indexing API.
If the C API only provides Python-level semantics, then it will roughly have the speed of pure Python (modulo bytecode execution). There are important use cases for the C API where it is desired to have fast type-specific access to Python objects such as tuples, ints, strings, etc. This is relied upon by modules such as _json and _pickle, and third-party extensions as well. Regards Antoine.