How are variables and memory managed in Python?

Memory management in Python :
  • When we create an object then the Python Virtual Machine handles the memory needed and where it shall be placed in the memory layout.
  • CPython uses a private heap for storing objects.
  • Memory management in Python involves a private heap containing all Python objects and data structures. The management of this private heap is ensured internally by the Python memory manager.
  • The Python memory manager has different components which deal with various dynamic storage management aspects, like sharing, segmentation, preallocation or caching.
  • The algorithm used for garbage collecting is called Reference counting. That is the Python VM keeps an internal journal of how many references refer to an object, and automatically garbage collects it when there are no more references referring to it.
  • The management of the Python heap is performed by the interpreter itself and that the user has no control over it.
  • At the lowest level Raw Memory Allocator interacting with Memory Manager of OS to ensure that there is enough space / room in private heap.

Comments

Popular posts from this blog

What is composite key?

What are the different data types in Python?

What is __repr__ function?