[Numpy-discussion] Memory leak in array protocol numarray<--numpy
Todd Miller
jmiller at stsci.edu
Fri Aug 11 16:13:33 CDT 2006
Francesc Altet wrote:
> Hi,
>
> I was tracking down a memory leak in PyTables and it boiled down to a problem
> in the array protocol. The issue is easily exposed by:
>
> for i in range(1000000):
> numarray.array(numpy.zeros(dtype=numpy.float64, shape=3))
>
> and looking at the memory consumption of the process. The same happens with:
>
> for i in range(1000000):
> numarray.asarray(numpy.zeros(dtype=numpy.float64, shape=3))
>
> However, the numpy<--numarray sense seems to work well.
>
> for i in range(1000000):
> numpy.array(numarray.zeros(type="Float64", shape=3))
>
> Using numarray 1.5.1 and numpy 1.0b1
>
> I think this is a relatively important problem, because it somewhat prevents a
> smooth transition from numarray to NumPy.
>
> Thanks,
>
>
I looked at this a little with a debug python and figure it's a bug in
numpy.zeros():
>>> numpy.zeros(dtype=numpy.float64, shape=3)
array([ 0., 0., 0.])
[147752 refs]
>>> numpy.zeros(dtype=numpy.float64, shape=3)
array([ 0., 0., 0.])
[147753 refs]
>>> numpy.zeros(dtype=numpy.float64, shape=3)
array([ 0., 0., 0.])
[147754 refs]
>>> numarray.array([1,2,3,4])
array([1, 2, 3, 4])
[147772 refs]
>>> numarray.array([1,2,3,4])
array([1, 2, 3, 4])
[147772 refs]
>>> numarray.array([1,2,3,4])
array([1, 2, 3, 4])
[147772 refs]
Regards,
Todd
More information about the Numpy-discussion
mailing list