[Matrix-SIG] Re: blitz++ vs. NumPy?
P.S.Craig@durham.ac.uk
P.S.Craig@durham.ac.uk
Thu, 17 Dec 1998 09:21:47 +0000 (GMT)
Rob Hooft writes:
>
> There is a lot of discussion about the subject, but I haven't seen
> anyone that was worried about their own extensions to NumPy that would
> need to be rewritten if NumPy would be redesigned.
>
> I'd like to express this worry for my code.... The current design of
> NumPy works great for me.
>
.
.
.
> Am I really alone?
>
> Rob
>
Not at all, I should say. If I wanted to use C++, I wouldn't be using
python. I came to python in despair at the state of C++ and its
non-reusability/non-portability about 4-5 years ago. Of course C++ may
have improved since then?
I think that NumPy is pretty wonderful. It has a simple design, is
reasonably efficient, is (fairly) internally consistent, and mostly
interacts well with core python. The actual C code is sometimes a bit
obscure, but I have always viewed that as a temporary
matter. Moreover, about a year ago I worked out how to do more
flexible indexing (non-stride based) and still retain the efficiency
of the current implementation for code that doesn't need it. I just
haven't had the time to write the code.
One final point in defense of NumPy as it stands: I use
multi-dimensional arrays of arbitrary python Objects extensively in
some database related code and I would hate to lose that facility,
which I imagine would be the case with the Blitz++ approach.
While writing this, I have realised that I feel strongly enough that I
would want to save the existing code and build on it, under a
different module name if necessary.
Cheers,
Peter Craig
#--------------------------------------------------------------------#
| E-mail: P.S.Craig@durham.ac.uk Telephone: +44-91-3742376 (Work) |
| Fax: +44-91-3747388 +44-91-3860448 (Home) |
| |
| WWW: http://fourier.dur.ac.uk:8000/stats/people/psc/psc.html |
| |
| Snail: Peter Craig, Dept. of Math. Sciences, Univ. of Durham, |
| South Road, Durham DH1 3LE, England |
#--------------------------------------------------------------------#