[vtkusers] VTK memory management

David Gobbi david.gobbi at gmail.com
Wed Aug 29 16:38:18 EDT 2012


In general python's memory management is fairly deterministic because
it relies on reference counting (i.e. most objects are deleted as soon
as they aren't needed anymore).  But if reference cycles are present,
the behavior can become non-deterministic, because it depends on when
the garbage collector is run.  You can always call gc.collect()
yourself to force the garbage collection to occur at certain times in
your program.

 - David


On Wed, Aug 29, 2012 at 2:03 PM, Thiago Franco Moraes
<tfmoraes at cti.gov.br> wrote:
> Hi,
>
> I'm doing some tests about memory management in VTK with Python. I
> wrote this little python script [1]. It takes as parameter a filename
> to a vtkPolydata saved in a xml file and do some processings in it. In
> this script I'm taking care of freeing the memory used by each filter
> and intermediate vtkPolydata. I'm using an tool called memory profiler
> (very interesting by the way) [2] to measure the memory used along the
> script execution. The problem is the memory measurement in the end of
> script execution is somewhat strange, because the memory measurement
> is very fluctuating, ranging from 170MB to 500MB. Is this expected?
> I'm freeing memory from vtk objects in the right way? It's a problem
> with Python?
>
> Thanks!
>
> [1] - http://pastebin.com/iYUK1jxk
> [2] - https://github.com/fabianp/memory_profiler



More information about the vtkusers mailing list