On Thu, Dec 07, 2006 at 05:36:22PM +0100, Francesc Altet wrote: > El dj 07 de 12 del 2006 a les 16:50 +0100, en/na Alexandre Fayolle va > escriure: > > Hi, > > > > I'm facing a memory leak on an application that has to use numarray and > > Numeric (because of external dependencies). > > > > The problem occurs when building a Numeric array from a numarray array: > > > > import Numeric > > import numarray > > import sys > > atest = numarray.arange(200) > > temp = Numeric.array(atest) > > print sys.getrefcount(atest) # prints 3 > > print sys.getrefcount(temp) # prints 2 > > > > I'm running numarray 1.5.2 and Numeric 24.2 > > Yeah, it seems like the array protocol implementation in Numeric is > leaking. Unfortunately, as Numeric maintenance has been dropped, there > is small chances that this would be fixed in the future. > > > > > I can work around this by using an intermediate string representation: > > > > temp = Numeric.fromstring(atest.tostring(), atest.typecode()) > > temp.shape = atest.shape > > Another (faster) workaround would be: > > temp2 = Numeric.fromstring(atest._data, typecode=atest.typecode())
Nice! Thanks Francesc. -- Alexandre Fayolle LOGILAB, Paris (France) Formations Python, Zope, Plone, Debian: http://www.logilab.fr/formations Développement logiciel sur mesure: http://www.logilab.fr/services Informatique scientifique: http://www.logilab.fr/science Reprise et maintenance de sites CPS: http://www.migration-cms.com/
signature.asc
Description: Digital signature
_______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
