On May 7, 3:31 pm, "danmcle...@yahoo.com" <danmcle...@yahoo.com> wrote: > I am using the array module to instantiate many arrays in my > application. It seems like there is a memory leak in there somewhere. > Can anyone confim this and let me know what, if anything, I can do > about it? I am using Fedora Core 5 Linux: > > import commands > import array > import itertools > import sys > > from itertools import repeat > > print '*** before ***' > print commands.getoutput('cat /proc/meminfo').split('\n')[1] > for i in range(100): > a = array.array('I', repeat(0, int(2E6))) > del a > print '*** after ***' > print commands.getoutput('cat /proc/meminfo').split('\n')[1] > > Output: > *** before *** > MemFree: 1459772 kB > *** after *** > MemFree: 1457688 kB
I hate to reply to my own thread but I wanted to update it. I tried the same code using ctypes arrays and see no memory leak: import commands import array import itertools import sys import ctypes from itertools import repeat from ctypes import * print '*** before ***' print commands.getoutput('cat /proc/meminfo').split('\n')[1] for i in range(100): a = ARRAY(c_uint, int(2E6)) del a print '*** after ***' print commands.getoutput('cat /proc/meminfo').split('\n')[1] *** before *** MemFree: 1416364 kB *** after *** MemFree: 1416364 kB -- http://mail.python.org/mailman/listinfo/python-list