Maybe someone from PyPy should bring this up as an official topic at the language summit to figure out the blockers (again). Or it can join regex on the list of "module discussed for addition at the language summit but never quite pushed to commitment". =)


On Tue, Dec 17, 2013 at 11:43 AM, Stefan Krah <stefan@bytereef.org> wrote:
Maciej Fijalkowski <fijall@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



_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/brett%40python.org