GC is very expensive: am I doing something wrong?

Terry Reedy tjreedy at udel.edu
Fri Mar 19 01:33:40 CET 2010


On 3/18/2010 8:13 PM, Weeble wrote:
>   I thought that the cost of garbage
> collection would be in some way proportional to the amount of garbage
> created, but I didn't think I was creating any: as far as I can tell
> the only objects deallocated during the load are strings, which could
> not be participating in cycles.
>
> I have spent a lot of time in C#, where the standard advice is not to
> mess about with the garbage collector because you'll probably just
> make things worse. Does that advice apply in Python? Is it a bad idea
> to call gc.disable() before loading the trie and then enable it again
> afterwards?

I believe not. It is known that certain patterns of object creation and 
destruction can lead to bad gc behavior. No one has discovered a setting 
of the internal tuning parameters for which there are no bad patterns 
and I suspect there are not any such. This does not negate Xavier's 
suggestion that a code change might also solve your problem.

tjr




More information about the Python-list mailing list