[Python-Dev] Ctypes and the stdlib (was Re: LZMA compression support in 3.3)
Terry Reedy
tjreedy at udel.edu
Sun Aug 28 06:58:35 CEST 2011
Dan, I once had the more or less the same opinion/question as you with
regard to ctypes, but I now see at least 3 problems.
1) It seems hard to write it correctly. There are currently 47 open
ctypes issues, with 9 being feature requests, leaving 38
behavior-related issues. Tom Heller has not been able to work on it
since the beginning of 2010 and has formally withdrawn as maintainer. No
one else that I know of has taken his place.
2) It is not trivial to use it correctly. I think it needs a SWIG-like
companion script that can write at least first-pass ctypes code from the
.h header files. Or maybe it could/should use header info at runtime
(with the .h bundled with a module).
3) It seems to be slower than compiled C extension wrappers. That, at
least, was the discovery of someone who re-wrote pygame using ctypes.
(The hope was that using ctypes would aid porting to 3.x, but the time
penalty was apparently too much for time-critical code.)
If you want to see more use of ctypes in the Python community (though
not necessarily immediately in the stdlib), feel free to work on any one
of these problems.
A fourth problem is that people capable of working on ctypes are also
capable of writing C extensions, and most prefer that. Or some work on
Cython, which is a third solution.
--
Terry Jan Reedy
More information about the Python-Dev
mailing list