On Fri, May 14, 2010 at 2:43 PM, Brian Blais <[email protected]> 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 > > > bb > > -- > Brian Blais > [email protected] > http://web.bryant.edu/~bblais > http://bblais.blogspot.com/ > > > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
