[pypy-dev] Questions on the pypy+numpy project

Ian Ozsvald ian at ianozsvald.com
Mon Oct 17 14:18:56 CEST 2011


> The ecosystem is pretty big. There are at least in the order of
> hundred of packages that depend directly on numpy and scipy.
>
> For scipy alone, the raw count is around 150k-300k LOC (it is a bit
> hard to estimate because we include some swig-generated code that I
> have ignored here, and some code duplication to deal with distutils
> insanity). There is around 80k LOC of fortran alone in there.

Hi David, thanks for the numbers.

Travis has posted a long discussion:
http://technicaldiscovery.blogspot.com/2011/10/thoughts-on-porting-numpy-to-pypy.html
and a few other points are raised at HackerNews:
http://news.ycombinator.com/item?id=3118620

Whilst I understand Fijal's point about having a fast/lightweight demo
of numpy I'm not sure what value this really brings to the project
(I'll post this to Fijal's answer in a moment). If it isolates the
rest of the numpy ecosystem (since it doesn't have a compatible C API)
then only a fraction of people will be able to use it and it won't
open a roadmap for increased library support, surely?

As an example - I want numpy for client work. For my clients (the main
being a physics company that is replacing Fortran with Python) numpy
is at the heart of their simulations. However - numpy is used with
matplotlib and pyCUDA and parts of scipy. If basic tools like FFT
aren't available *and compatible* (i.e. not new implementations but
running on tried, trusted and consistent C libs) then there'd be
little reason to use pypy+numpy. pyCUDA could be a longer term goal
but matplotlib would be essential.

I note that many scientists won't switch to Python 3 due to lack of
library support. numpy caught up with Py3 earlier in the year and
matplotlib followed recently (so I guess SciPy itself will follow).
Can we look at the details of the py3 porting process to get an idea
of the complexity of the pypy-numpy + scipy project?

Ian.


More information about the pypy-dev mailing list