On Wed, Apr 20, 2011 at 9:29 AM, Michael Droettboom <md...@stsci.edu> wrote:
> On 04/20/2011 07:48 AM, Caleb Constantine wrote:
>> On Tue, Apr 19, 2011 at 2:25 PM, Michael Droettboom<md...@stsci.edu>  wrote:
>>> Ok.  I have a RHEL5 Linux box with Python 2.7.1.
>>>
>>> With Numpy 1.4.1 and 1.5.1 I don't see any leaks.  With Numpy git HEAD,
>>> I did see a leak -- I submitted a pull request to Numpy here:
>>>
>>>    https://github.com/numpy/numpy/pull/76
>>>
>>> I get the same results (no leaks) running your wx, tk and agg scripts
>>> (with the Windows-specific stuff removed).
>>>
>>> FWIW, I have wxPython 2.8.11.0 and Tkinter rev 81008.
>>>
>>> So the variables are the platform and the version of Python.  Perhaps
>>> it's one of those two things?
>>>
>>> Mike
>> Consider the following:
>>
>>       matplotlib 1.0.1, numpy 1.5.1, python 2.7.1, wxPython 2.8.11.0,
>> Windows XP SP3
>>
>>       - 1 hour
>>       - Plotted 3601 times, about 1Hz
>>       - Memory usage increased by about 1.16MB (41.39 - 40.23), or
>> about 0.33K per redraw
>>
>> It seems the same memory leak exists. Given you don't have this issue
>> on Linux with the same Python configuration, I can only assume it is
>> related to some Windows specific code somewhere. I'll run for a longer
>> period of time just in case, but I don't expect the results to be
>> different.
> One way to rule out Windows-specific code may be to run with the Agg
> backend only (without wx).  Have you plotted the memory growth?  This
> amount of memory growth is well within the pool allocation sizes that
> Python routinely uses.  Does the value of len(gc.get_objects()) grow
> over time?
>

New results follows.

matplotlib 1.0.1, numpy 1.5.1, python 2.7.1, wxPython 2.8.11.0, Windows XP SP3

agg
- 3601 redraws (1 hour), about 1Hz
- Memory usage: 28.79 - 27.57 = 1.22 MB
- len(gc.get_objects()): 23424 at beginning and end
- Plot of memory growth: roughly linear, increasing with slope of 0.26KB

tkagg
- 3601 redraws (1 hour), about 1Hz
- Memory usage: 33.22 - 33.32 = -0.1 MB
- len(gc.get_objects()): 24182 at beginning and end
- Plot of memory growth: very irregular (up and down), but a line fit
  has a slope of about 0.025KB (I could run longer and see if slope
approaches 0)

wxagg
- 3601 redraws (1 hour), about 1Hz
- Memory usage: 43.28 - 41.80 = 1.5 MB
- len(gc.get_objects()): 41473 at beginning and end
- Plot of memory growth: roughly linear, increasing with slope of 0.32KB

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to