[Numpy-discussion] memory leak?

josef.pktd at gmail.com josef.pktd at gmail.com
Fri May 14 16:03:56 EDT 2010


On Fri, May 14, 2010 at 3:26 PM,  <josef.pktd at gmail.com> wrote:
> On Fri, May 14, 2010 at 2:43 PM, Brian Blais <bblais at bryant.edu> wrote:
>> Hello,
>>
>> I have the following code, where I noticed a memory leak with +=, but
>> not with + alone.
>> import numpy
>>
>> m=numpy.matrix(numpy.ones((23,23)))
>>
>> for i in range(10000000):
>>     m+=0.0  # keeps growing in memory
>>     #    m=m+0.0  # is stable in memory
>>
>>
>> My version of python is 2.5, numpy 1.3.0, but it also causes memory
>> build-up in 2.6 with numpy 1.4.0, as distributed by the Enthought
>> Python Distribution.
>>
>> It's easy to work around, but could cause someone some problems.
>> Anyone else get this?
>
> I get it also with python 2.5 numpy 1.4.0
>
> Who owns the data ?
>
>>>> m=np.matrix(np.ones((3,3)))
>>>> m.flags
>  C_CONTIGUOUS : True
>  F_CONTIGUOUS : False
>  OWNDATA : True
>  WRITEABLE : True
>  ALIGNED : True
>  UPDATEIFCOPY : False
>
>>>> m+=0
>>>> m.flags
>  C_CONTIGUOUS : True
>  F_CONTIGUOUS : False
>  OWNDATA : False                               <- GONE
>  WRITEABLE : True
>  ALIGNED : True
>  UPDATEIFCOPY : False
>
> Josef
>

 Maybe it's not a "true" memory leak, my python process eventually
garbage collected the extra memory that was built up.

Josef

>>
>>
>>                        bb
>>
>> --
>> Brian Blais
>> bblais at bryant.edu
>> http://web.bryant.edu/~bblais
>> http://bblais.blogspot.com/
>>
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>



More information about the NumPy-Discussion mailing list