On 5/22/19 12:15 PM, Tim Peters wrote:
There's a Stackoverflow report[1] I suspect is worth looking into, but
it requires far more RAM (over 80GB) than I have). [...]
But, for a start, it would be good to know if anyone else can actually
reproduce the problem.

[1] https://stackoverflow.com/questions/56228799/python-hangs-indefinitely-trying-to-delete-deeply-recursive-object


I have a computer with two Xeon CPUs and 256GB of RAM.  So, even though it's NUMA, I still have 128GB of memory per CPU.  It's running a "spin" of Ubuntu 18.10.

I compiled a fresh Python 3.7.3 --with-optimizations.  I copied the sample program straight off the StackOverflow page.  The program ran for about five and a half hours then exited normally.

During the run it printed:

This gets printed!
This doesn't get printed

Statistics reported by "time":

19811.05s user 123.56s system 99% cpu 5:32:15.04 total

Checking in on it now and then, peak observed memory usage (as reported by "top") was just under 80GB.

I take it that the interesting part was confirming that "This doesn't get printed" gets printed when you have enough RAM for the program to run to completion.  So I guess there's no bug here?  Just an observation about CPython's garbage collector being kinda slow?  Or maybe CPython gc + swap = super bombad slow?


/arry