“让Python快5倍”最新计划:优化解释器和内存管理

部署运行你感兴趣的模型镜像

来自公众号:OSC开源社区

2020 年秋,CPython 核心开发者 Mark Shannon 提出了关于 Python 的几个性能改进,这个提议被称为 “香农计划” (Shannon Plan)。

744e231140c5b8480d01992d4f61bd81.jpeg

Shannon 随后创建了 Faster Cpython 项目,他希望在 4 年的时间里,通过多个版本的更新将 Python 的速度提升 5 倍。

不久之后微软正式加入该计划,该公司支持包括 Mark Shannon、Guido van Rossum 在内的开发人员,致力于「Faster CPython」项目的研究。

近日,Mark Shannon 和 Michael Droettboom 介绍了面向 Python 3.13 的计划。

3e48d97d2c90c2f0b65343dc07abfd5d.png

他们提出了三个可并行推进的工作:

  • 推出 Tier 2 优化器

  • 从 Python 代码中启用子解释器 (PEP 554)

  • 优化内存管理

Tier 2 优化器的目标是将花在解释器上的时间减少至少 50%,其工作计划大致如下:

  • 让 Tier 2 解释器运转起来

  • 生成 superblocks

  • 实现基本的 superblock 管理功能

至于从 Python 代码中启用子解释器,这项工作建立在 Python 3.12 中 per-interpreter GIL 的基础上,方便 Python 程序员利用 Python 代码子解释器中更好的并行性(无需编写 C 扩展)。

目前已有针对这项工作的草案:PEP 554。首先需要更新并推动早日获得批准,以便在必要时改变方向。

最后,关于优化内存管理方面。性能分析数据显示,内存管理和循环 GC 花费了相当多的时间。目前的计划是:

  • 通过改进数据结构来减少分配

  • 花费更少的时间进行循环 GC

至于官方 JIT,Shannon 曾表示实现 JIT 的第一步是实现一个跟踪解释器,但由于需要兼顾其他工作,引入 JIT 编译器的工作还有一段路要走,“最早可能要到 3.13 才能到达”。(其实 Shannon 一直对 CPython 是否真的需要引入 JIT 持怀疑态度)

有开发者“锐评”了该团队与另一个项目的内部斗争 —— 完全移除 CPython 解释器的 GIL(全局解释器锁)

48b50819adf777ed9df4b05e828e089b.png

他认为 Faster Python 团队在这场斗争中在“政治”上处于更好的位置。

185255797f27acdd1fdb7ce4638e51ec.png


相关链接

https://github.com/faster-cpython/ideas/blob/main/3.13/README.md

https://news.ycombinator.com/item?id=36339777

---END---

-------- End --------

推荐👇同名微信视频号

8419f88240569a392da5e59064e57518.png

6b91dff8091576976f4b893ee446e1de.jpeg
图解Pandas

图文00-内容框架介绍 | 图文01-数据结构介绍 | 图文02-创建数据对象 | 图文03-操作Excel文件 | 图文04-常见的数据访问 | 图文05-常见的数据运算 |  图文06-常见的数学计算 | 图文07-常见的数据统计 | 图文08-常见的数据筛选 |  图文09-常见的缺失值处理 | 图文10-数据合并操作 | 图文11-Groupby分组操作

64adcae35af838ab03c2409c9e8ec7fd.jpeg d7bba0f9bcbccc7d6bfe8ce4111249a1.jpeg

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值