0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OSC开源社区 来源:OSC开源社区 2023-06-18 14:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

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

56367032-0d0b-11ee-962d-dac502259ad0.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(全局解释器锁)

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





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    58

    文章

    4889

    浏览量

    90342

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

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    更改为样本文件的文件夹。单击打开main.py文件。 1.4 打开命令选项板,键盘输入Python:选择解释,确保选择Python 3.11.0。在此之后,您还可以在状态栏中看到您
    发表于 03-31 09:39

    两节串联锂电池充电管理芯片,普通,高压,充输入选型介绍

    5V-20V自适应升降压充方案 4.1 技术突破与应用价值 PW4000方案代表了当前最先进的充电管理技术,通过集成升降压转换充协
    发表于 12-20 16:22

    请问如何优化芯片的功耗管理

    在汽车电子系统中,功耗管理是一个关键问题。如何优化芯源车规级CW32A030C8T7芯片的功耗管理,实现更高效的能源利用,延长汽车电池寿命?
    发表于 12-16 07:15

    一文了解Mojo编程语言

    和 MLIR(多级中间表示)技术,Mojo 的性能接近 C++,甚至在某些任务中比 Python 数万。 支持直接操作硬件资源,如内存管理
    发表于 11-07 05:59

    工程实施不卡壳!蓝蜂MQTT 边缘计算网关设备联网 3

    工程实施不卡壳!蓝蜂MQTT 边缘计算网关设备联网 3 对项目工程实施团队来说,现场最怕遇到两件事:一是设备对接“卡脖子”,二是数据上报 “掉链子”。比如某智慧工厂项目,现场摆着西门子
    的头像 发表于 10-23 17:30 690次阅读
    工程实施不卡壳!蓝蜂MQTT 边缘计算网关<b class='flag-5'>让</b>设备联网<b class='flag-5'>快</b> 3 <b class='flag-5'>倍</b>

    蜂鸟E203内核优化方法

    。 修改内核参数:对蜂鸟E203的内核参数进行相应修改,可以优化内核运行效率,提高系统性能,比如调整缓存大小、内存分配策略等。 资源管理:进行有针对的资源管理,例如调度算法的修改,调整
    发表于 10-21 07:55

    termux如何搭建python游戏

    模拟,支持通过APT包管理器安装软件。搭建Python游戏开发环境前需完成以下基础配置: 1. 更换国内源 为提升下载速度,需替换Termux默认源为清华源,执行以下命令: ```bash
    发表于 08-29 07:06

    灵活高效ZBUFF — C内存数据操作库:优化内存管理的利器

    在C语言开发中,高效的内存管理是提升程序性能的关键。ZBUFF作为一款灵活高效的内存数据操作库,通过优化内存分配与释放机制,为开发者提供了更
    的头像 发表于 08-14 18:01 833次阅读
    灵活高效ZBUFF — C<b class='flag-5'>内存</b>数据操作库:<b class='flag-5'>优化</b><b class='flag-5'>内存</b><b class='flag-5'>管理</b>的利器

    Cadence推出LPDDR6/5X 14.4Gbps内存IP系统解决方案

    楷登电子(美国 Cadence 公司,NASDAQ:CDNS)近日宣布业内首个 LPDDR6/5X 内存 IP 系统解决方案完成流片。该解决方案已经过优化,运行速率高达 14.4Gbps,比上一代 LPDDR DRAM
    的头像 发表于 07-17 17:17 1502次阅读
    Cadence推出LPDDR6/<b class='flag-5'>5</b>X 14.4Gbps<b class='flag-5'>内存</b>IP系统解决方案

    请问如何优化OpenVINO™工具套件中的内存使用?

    运行OpenVINO™推断时找不到优化内存使用情况的方法。
    发表于 06-25 06:56

    鸿蒙5开发宝藏案例分享---长列表性能优化解

    \">ForEach</span>加载方式会导致: 内存暴涨 (10000条数据占用560MB内存!) 首屏加载5秒+ ,滑动疯狂丢帧(丢帧率58
    发表于 06-12 17:40

    鸿蒙5开发宝藏案例分享---内存优化实战指南

    Hey,各位鸿蒙开发者们! 大家有没有这种感觉:官方文档虽然全面,但有时候就像一座巨大的宝库,里面藏着很多超实用的“金矿”,不仔细挖还真发现不了!最近我就意外挖到了关于****内存优化的宝藏章节
    发表于 06-12 17:15

    鸿蒙5开发宝藏案例分享---Web加载时延优化解

    图片过多 懒加载 + 占位图 Image.loadMode=\"lazy\" 重复渲染 组件复用 + @Reusable @Reusable装饰 ?** 性能优化黄金准则** 首屏
    发表于 06-12 17:11

    HarmonyOS优化应用内存占用问题性能优化

    一、使用purgeable优化C++内存 Purgeable Memory是HarmonyOS中native层常用的内存管理机制,可用于图像处理的Bitmap、流媒体应用的一次性数据、
    发表于 05-24 17:20

    HarmonyOS优化应用内存占用问题性能优化

    应用开发过程中注重内存管理,积极采取措施来减少内存占用,以优化应用程序的性能和用户体验。 HarmonyOS提供了一些内存
    发表于 05-21 11:27