Memory Snapshots for CPython (Python Language Summit 2026)
2 days ago
- Hood Chatham 提议使用内存快照来绕过 CPython 的重新初始化,从而在 Pyodide 中实现简单程序高达 4 倍的启动加速。
- 一个关键挑战是,内存快照会固定随机哈希种子,从而重新引入哈希碰撞拒绝服务攻击(如 Python 3.3 中修复的那种)带来的安全风险。
- Hood 建议在 CPython 中添加一个显式的初始化阶段,类似于 RPython 和 SPy,以便从快照恢复时安全地重新引入随机性。
- 讨论还涉及其他替代方案,如惰性导入(PEP 810),但这对快照可能没有帮助,因为导入不会被缓存;以及冻结模块,这在前期的实验中对启动改善有限。