(original) (raw)
import gc N = 1000000 zs = [] class A: # simple self-loop def __init__(self): self.me = self class Z(A): # resurrecting __del__ def __del__(self): print("resurrecting") zs.append(self) gc.collect() while True: gc.disable() for i in range(N): A() Z() zs.clear() gc.enable() print("collect", gc.collect()) print("gen 2 stats", gc.get_stats()[2])