[Numpy-discussion] Proposed Roadmap Overview

Charles R Harris charlesr.harris at gmail.com
Fri Feb 17 10:39:25 EST 2012


On Fri, Feb 17, 2012 at 8:01 AM, David Cournapeau <cournape at gmail.com>wrote:

> Hi Travis,
>
> On Thu, Feb 16, 2012 at 10:39 PM, Travis Oliphant <travis at continuum.io>
> wrote:
> > Mark Wiebe and I have been discussing off and on (as well as talking
> with Charles) a good way forward to balance two competing desires:
> >
> >        * addition of new features that are needed in NumPy
> >        * improving the code-base generally and moving towards a more
> maintainable NumPy
> >
> > I know there are load voices for just focusing on the second of these
> and avoiding the first until we have finished that.  I recognize the need
> to improve the code base, but I will also be pushing for improvements to
> the feature-set and user experience in the process.
> >
> > As a result, I am proposing a rough outline for releases over the next
> year:
> >
> >        * NumPy 1.7 to come out as soon as the serious bugs can be
> eliminated.  Bryan, Francesc, Mark, and I are able to help triage some of
> those.
> >
> >        * NumPy 1.8 to come out in July which will have as many
> ABI-compatible feature enhancements as we can add while improving test
> coverage and code cleanup.   I will post to this list more details of what
> we plan to address with it later.    Included for possible inclusion are:
> >        * resolving the NA/missing-data issues
> >        * finishing group-by
> >        * incorporating the start of label arrays
> >        * incorporating a meta-object
> >        * a few new dtypes (variable-length string, varialbe-length
> unicode and an enum type)
> >        * adding ufunc support for flexible dtypes and possibly
> structured arrays
> >        * allowing generalized ufuncs to work on more kinds of arrays
> besides just contiguous
> >        * improving the ability for NumPy to receive JIT-generated
> function pointers for ufuncs and other calculation opportunities
> >        * adding "filters" to Input and Output
> >        * simple computed fields for dtypes
> >        * accepting a Data-Type specification as a class or JSON file
> >        * work towards improving the dtype-addition mechanism
> >        * re-factoring of code so that it can compile with a C++ compiler
> and be minimally dependent on Python data-structures.
>
> This is a pretty exciting list of features. What is the rationale for
> code being compiled as C++ ? IMO, it will be difficult to do so
> without preventing useful C constructs, and without removing some of
> the existing features (like our use of C99 complex). The subset that
> is both C and C++ compatible is quite constraining.
>
>
I'm in favor of this myself, C++ would allow a lot code cleanup and make it
easier to provide an extensible base, I think it would be a natural fit
with numpy. Of course, some C++ projects become tangled messes of
inheritance, but I'd be very interested in seeing what a good C++ designer
like Mark, intimately familiar with the numpy code base, could do. This
opportunity might not come by again anytime soon and I think we should grab
onto it. The initial step would be a release whose code that would compile
in both C/C++, which mostly comes down to removing C++ keywords like 'new'.

I did suggest running it by you for build issues, so please raise any you
can think of. Note that MatPlotLib is in C++, so I don't think the problems
are insurmountable. And choosing a set of compilers to support is something
that will need to be done.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120217/2051cccf/attachment.html>


More information about the NumPy-Discussion mailing list