CPython - Internally, what is stored on the stack and heap?

前端 未结 2 612
天涯浪人
天涯浪人 2020-12-10 03:09

In C#, Value Types (eg: int, float, etc) are stored on the stack. Method parameters may also be stored on the stack as well. Most everything else, however, is stored on the

相关标签:
2条回答
  • 2020-12-10 03:30

    Python's runtime only deals in references to objects (which all live in the heap): what goes on Python's stack (as operands and results of its bytecode operations) are always references (to values that live elsewhere).

    0 讨论(0)
  • 2020-12-10 03:42

    All Python objects in the CPython implementation go on the heap. You can read in detail how Python's memory management works here in the documentation:

    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.

    Note that Python itself is just a language, and says nothing about how internals like memory management should work; this is a detail left to implementers.

    0 讨论(0)
提交回复
热议问题