import gc import logging import sys import time N1 = int(sys.argv[1]) N2 = int(sys.argv[2]) assert N1 > N2 lst = [] lst2 = [] lst2.append(lst2) for _ in range(N1 - N2): lst.append(logging.Handler()) for _ in range(N2): lst2.append(logging.Handler()) print(f"{len(logging._handlerList)=}") # prepare by removing other possible noise from this cycle. gc.collect() s = time.perf_counter() del lst2 gc.collect() s = time.perf_counter() - s print(f"{len(logging._handlerList)=}") print(f"gc.collect() took {s}s")