[vtk-developers] Garbage collection slowness

Brad King brad.king at kitware.com
Mon May 12 22:28:37 EDT 2008


Hank Childs wrote:
> For example, if I:
> 1) call vtkGarbageCollector::DeferredCollectionPush()
> 2) execute three filters (filters that find external faces and remove 
> ghost data) and,
> 3) call vtkGarbageCollector::DeferredCollectionPop()
> 
> then: the three filters take about 20s total and the 
> DeferredCollectionPop takes about 47s.

Are you able to reproduce this problem in a minimal test case that you can post?

Did you actually put a vtkTimerLog start/stop directly around the call to 
DeferredCollectionPop?  A deferred collection should be very fast because 
all freed references are dropped and a single walk of the reference graph 
identifies and deletes unreferenced objects.

> best way to describe it would be that I have one instance of filter A, 
> one instance of filter B, and one instance of filter C and that I route 
> all 20K data sets through filter A, to make 20K new data sets, then 
> route those 20K new data sets through B, and so on.

What code do you use to switch the input of a filter and save each output?

Thanks,
-Brad



More information about the vtk-developers mailing list