[Python-Dev] PEP 575, 576, 579 and 580
Mark Shannon
mark at hotpy.org
Sat Jul 7 09:38:39 EDT 2018
Hi,
We seem to have a plethora of PEPs where we really ought to have one (or
none?).
Traditionally when writing a new piece of software, one gathered
requirements before implementing the code. Let us return to that
venerable tradition.
IMO, mailing lists are a terrible way to do software design, but a good
way to gather requirements as it makes less likely that someone will be
forgotten.
So, let us gather the requirements for a new calling API.
Here are my starting suggestions:
1. The new API should be fully backwards compatible and shouldn't break
the ABI
2. The new API should be used internally so that 3rd party extensions
are not second class citizens in term of call performance.
3. The new API should not prevent 3rd party extensions having full
introspection capabilities, supporting keyword arguments or another
feature supported by Python functions.
4. The implementation should not exceed D lines of code delta and T
lines of code in total size. I would suggest +200 and 1000 for D and T
respectively (or is that too restrictive?).
5. It should speed up CPython for the standard benchmark suite.
6. It should be understandable.
What am I missing? Comments from the maintainers of Cython and other
similar tools would be appreciated.
Cheers,
Mark.
More information about the Python-Dev
mailing list