Python源码阅读-内存管理机制(一)

571 查看

========================== 

基本阅读完了, 只是没时间梳理, 趁着这今天时间比较空

逐步梳理, 发上来……也算是小结下, 要开始准备简历找工作了>_

这篇略长, 带很多图, 所以一分为二


Python的内存管理架构

基本分层

Objects/obmalloc.c源码中, 给了一个分层划分

可以看到

第三层layer 3前面已经介绍过了, 几乎每种常用的数据类型都伴有一套缓冲池机制.

在这里, 我们关注的是layer 2/1

简要介绍下layer 1, 然后重点关注layer 2, 这才是重点

layer 1: PyMem_ API

PyMem_ API是对操作系统内存管理接口进行的封装

查看pymem.h可以看到