On Thu, Jun 28, 2012 at 12:38 AM, astronomer <shailendra.vi...@gmail.com> wrote: > > Hi All, > I am wondering if there any difference in memory overhead between the > following code. > a=numpy.arange(10) > b=numpy.arange(10) > c=a+b > > and > a=numpy.arange(10) > b=numpy.arange(10) > c=numpy.empty_likes(a) > c[:]=a+b > > Does the later code make a temproray array for the result of (a+b) and then > copy it to c. I beleive it does that, but i wanted to make sure.
Yes it does. If you want to avoid this extra copy, and have a pre-existing output array, you can do: np.add(a, b, out=c) ('+' on numpy array's is just a synonym for np.add; np.add is a ufunc, and all ufunc's accept this syntax: http://docs.scipy.org/doc/numpy/reference/ufuncs.html ) -n _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion