[Python-Dev] cffi in stdlib
Gregory P. Smith
greg at krypto.org
Thu Dec 19 02:17:59 CET 2013
On Tue, Dec 17, 2013 at 8:43 AM, Stefan Krah <stefan at bytereef.org> wrote:
> 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.
>
Ubuntu compiles their Python with FDO (feedback directed optimization /
profile guided optimization) enabled. All distros should do this if they
don't already. It's generally 20% interpreter speedup. Our makefile already
supports it but it isn't the default build as it takes a long time given
that it needs to compile everything twice and do a profiled benchmark run
between compilations.
-gps
>
> +1 for cffi in the stdlib.
>
>
>
> Stefan Krah
>
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/greg%40krypto.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131218/f2280c0b/attachment.html>
More information about the Python-Dev
mailing list