Is it true that Python is not returning memory back to OS? What happens with variables which are no longer needed? How important is a garbage collector? How to trace and profile memory usage?
Let's find out answers to these and maybe some more questions.
Introduction: Why do I need to care about memory management in Python? Objects in Python – what are they? Memory management: How memory is being allocated at start/while running – blocks/pools/arenas? How is memory being freed – reference counting/garbage collector? Extras - small integer’s identity, sys.intern, sys.getsizeof, lists/dicts dynamic allocations. How to find cycles in variables referencing? Tools for memory management: Overview of available tools for managing memory. How and why Instagram disabled/re-enabled garbage collector?