2018-07-31 18:54 GMT+02:00 Simon Cross email@example.com:
It looks like fixing the Python C API is a lot of work and might fail, so I was wondering if it would be better to put effort into reducing the C API by making more use of CFFI within the Python standard library instead?
I don't really care of the usage of C API inside Python stdlib. I'm even fine with the stdlib using private APIs. I'm more worried about all third party C extensions.
I never wrote any cffi binding, but it seems that it makes application startup slower much slower when the binding has not been compiled yet. In that case, cffi requires a C compiler and maybe also build dependencies (like header files). cffi itself also pulls pycparser dependency which is a non trivial Python module.
If you ignore the compilation part, distributing a binary can also be an issue: you have to distribute one binary per platform.
Again, I never really used cffi, so the issues are maybe not issues in practice.