My python program has a curious performance behavior: The longer it runs, the slower it gets. Early on, it cranks out tens of work units per minute. After an hour of so it is taking tens of minutes per work unit. My suspicion is that this is cause by a congested garbage collector.
The catch is that my script is too memory hungry for cProfile to work on large runs. (see: cProfile taking a lot of memory)
We have written our own performance plugin and we can observe most parts of our system and none of them seem to be the problem. The one rock that is still unturned is the GC.
Is there some other way (besides profile or cProfile) to see how much time is going to the GC?