Steven D'Aprano wrote: > Just for kicks, I've been playing around with running code snippets with > and without the garbage collector enabled, looking to see if it will make > any obvious difference to performance. > > So far, I haven't found any. > > For instance, I tried: > > a = [i**3 for i in range(2000000)] > del a[:] > > thinking that garbage collecting almost two million ints would surely show > some performance difference, but it doesn't. > > Is anyone able to demonstrate a replicable performance impact due to > garbage collection?
As CPython objects are reference-counted, you may see the GC in action if you setup some cycles in your script (here, your two million ints are removed — except for some small ints which remain alive for internal optimization). >>> a = [i**3 for i in range(2000000)] >>> b = [a] >>> a.append(b) >>> del a # a remain referenced in b list >>> del b # b remain referenced in a list Now, how to test for performance impact… A+ Laurent. -- https://mail.python.org/mailman/listinfo/python-list