深入阅读 CPython:架构、对象模型、内存管理、编译管道和评估循环。
10 items
CPython 是什么,从源代码构建、存储库布局、读取 C 代码、运行时模型以及从源代码到执行的路径。
Python 对象模型、PyObject 和 PyVarObject 布局、引用计数、垃圾收集器、内存分配器和内置类型实现。
标记化、解析、AST、符号表、编译器通道、代码对象、常量和局部变量、字节码生成和字节码优化。
评估循环、帧、基于堆栈的执行、字节码指令、函数和方法调用、属性查找、异常、生成器、协程、模式匹配、推导式和闭包。
模块和导入、包、导入锁、描述符、类和元类、MRO、GIL、线程、子解释器、信号、上下文变量和审计挂钩。
sys、inspect、dis、gc、types、importlib、ctypes、multiprocessing 和 asyncio 如何将 Python 代码桥接到 CPython 内部。
Python C API、参考所有权规则、创建扩展模块、定义新类型、缓冲协议、胶囊、稳定 ABI、有限 API、嵌入 Python 和跨语言调用。
解释器调度、内联缓存、专用自适应解释器、函数调用快速路径、向量调用、字典和属性访问性能、内存局部性、分析和基准测试。
运行测试套件、调试构建、GDB 和 LLDB、清理程序、跟踪内存错误、编写核心测试、文档、制作补丁、读取 PEP 和发布过程。
自由线程 CPython、不朽对象、每个解释器的 GIL、JIT 工作、稳定的 ABI 设计权衡、导入系统边缘情况、序列化内部结构、安全边界和未来方向。