[Python-Dev] cffi in stdlib

Stefan Krah stefan at bytereef.org
Tue Dec 17 17:43:08 CET 2013


Maciej Fijalkowski <fijall at gmail.com> wrote:
> I would like to discuss on the language summit a potential inclusion
> of cffi[1] into stdlib. This is a project Armin Rigo has been working
> for a while, with some input from other developers.

I've tried cffi (admittedly only in a toy script) and find it very nice
to use.

Here's a comparison (pi benchmark) between wrapping libmpdec using a
C-extension (_decimal), cffi and ctypes:


+-------------------------------+----------+----------+---------+
|                               | _decimal |  ctypes  |   cffi  |
+===============================+==========+==========+=========+
| cpython-tip (with-system-ffi) |   0.19s  |   5.40s  |  5.14s  |
+-------------------------------+----------+----------+---------+
| cpython-2.7 (with-system-ffi) |    n/a   |   4.46s  |  5.18s  |
+-------------------------------+----------+----------+---------+
|      Ubuntu-cpython-2.7       |    n/a   |   3.63s  |    -    |
+-------------------------------+----------+----------+---------+
|      pypy-2.2.1-linux64       |    n/a   |  125.9s  |  0.94s  |
+-------------------------------+----------+----------+---------+
|     pypy3-2.1-beta1-linux64   |    n/a   |  264.9s  |  2.93s  |
+-------------------------------+----------+----------+---------+


I guess the key points are that C-extensions are hard to beat and that
cffi performance on pypy-2 is outstanding. Additionally it's worth noting
that Ubuntu does something in their Python build that we should do, too.


+1 for cffi in the stdlib.



Stefan Krah





More information about the Python-Dev mailing list