Как устроено управление памятью в Python?

Senior
199 просмотров
AFK Offer AI

CPython использует два механизма: reference counting (основной) и garbage collector (для циклических ссылок). Каждый объект хранит счётчик ссылок. Когда он достигает 0 — объект удаляется немедленно. Циклические ссылки (A → B → A) не обнуляют счётчик — для них GC периодически сканирует объекты. Python использует свой аллокатор pymalloc для маленьких объектов (< 512 байт) — пул блоков и арен. Большие объекты — через системный malloc.

Следующий вопрос

Как реализовать паттерн Adapter в Python?