[Python-Dev] Let's change to C API!

Antoine Pitrou solipsis at pitrou.net
Tue Jul 31 13:32:03 EDT 2018


Well, I tried to subscribe to capi-sig, but I didn't get a
confirmation e-mail.

Regards

Antoine.


On Tue, 31 Jul 2018 18:25:25 +0200
Victor Stinner <vstinner at redhat.com> wrote:
>  I replied on capi-sig.
> 
> 2018-07-31 18:03 GMT+02:00 Antoine Pitrou <solipsis at pitrou.net>:
> > On Tue, 31 Jul 2018 15:34:05 +0200
> > Victor Stinner <vstinner at redhat.com> wrote:  
> >> Antoine: would you mind to subscribe to the capi-sig mailing list? As
> >> expected, they are many interesting points discussed here, but I would
> >> like to move all C API discussions to capi-sig. I only continue on
> >> python-dev since you started here (and ignored my request to start
> >> discussing my idea on capi-sig :-)).  
> >
> > Well, I responded to your e-mail discussion thread.  I see more
> > messages in this thread here than on capi-sig. ;-)
> >  
> >> For example, PyPy uses different memory allocators depending on the
> >> scope and the lifetime of an object. I'm not sure that you can
> >> implement such optimization if you are stuck with reference counting.  
> >
> > But what does reference counting have to do with memory allocators
> > exactly?
> >  
> >> > OS vendors seem to be doing a fine job AFAICT.  And if I want a recent
> >> > Python I just download Miniconda/Anaconda.  
> >>
> >> Is it used in production to deploy services? Or is it more used by
> >> developers? I never used Anaconda.  
> >
> > I don't know, but there's no hard reason why you couldn't use it to
> > deploy services (though some people may prefer Docker or other
> > technologies).
> >  
> >> > I think you don't realize that the C API is *already* annoying.  People
> >> > started with it mostly because there wasn't a better alternative at the
> >> > time.  You don't need to make it more annoying than it already is ;-)
> >> >
> >> > Replacing existing C extensions with something else is entirely a
> >> > developer time/effort problem, not an attractivity problem.  And I'm
> >> > not sure that porting a C extension to a new C API is more reasonable
> >> > than porting to Cython entirely.  
> >>
> >> Do you think that it's doable to port numpy to Cython? It's made of
> >> 255K lines of C code.  
> >
> > Numpy is a bit special as it exposes its own C API, so porting it
> > entirely to Cython would be difficult (how do you expose a C macro in
> > Cython?).  Also, internally it has a lot of macro-generated code for
> > specialized loop implementations (metaprogramming in C :-)).
> >
> > I suppose some bits could be (re)written in Cython.  Actually, the
> > numpy.random module is already a Cython module.
> >  
> >> > It's just that I disagree that removing the C API will make CPython 2x
> >> > faster.  
> >>
> >> How can we make CPython 2x faster? Why everybody, except of PyPy,
> >> failed to do that?  
> >
> > Because PyPy spent years working full time on a JIT compiler.  It's also
> > written in (a dialect of) Python, which helps a lot with experimenting
> > and building abstractions, compared to C or even C++.
> >
> > Regards
> >
> > Antoine.
> > _______________________________________________
> > 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/vstinner%40redhat.com  



More information about the Python-Dev mailing list