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
    +关注

    关注

    54

    文章

    4763

    浏览量

    84349

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

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

收藏 人收藏

    评论

    相关推荐

    广州盈致WMS系统:优化仓储管理的智能化解决方案

    WMS系统 是一种基于信息技术的智能化仓储管理解决方案,通过数字化、自动化和智能化的方式,优化企业的仓储管理流程,提高效率、准确性和可控性。以下是WMS系统优化仓储
    的头像 发表于 10-21 14:53 106次阅读

    Windows管理内存的三种主要方式

    Windows操作系统提供了多种方式来管理内存,以确保系统资源的有效利用和性能的优化。以下是关于Windows管理内存的三种主要方式的详细阐
    的头像 发表于 10-12 17:09 255次阅读

    mesh的内存占用能否优化

    余110kb可用。 请问,mesh的内存占用问题能否优化?为何系统剩余大概60K0内存以下的时候系统会因内存不足重启?
    发表于 06-28 15:32

    台电追风A60 DDR5内存条全面上市

    追风A60采用新一代DDR5内存规格,相较DDR4,性能提升接近1。高配6000MHz频率实现DDR4 3200MHz的1.6传输速度和1.9
    的头像 发表于 12-05 15:52 1107次阅读
    台电追风A60 DDR<b class='flag-5'>5</b><b class='flag-5'>内存</b>条全面上市

    Python运行环境有哪些

    Python是一种广泛使用的高级编程语言,它有许多种运行环境,可以适应不同的开发需求。下面将详细介绍Python的几种常见的运行环境。 CPython: CPython是Python的默认解释
    的头像 发表于 11-29 16:14 1838次阅读

    python怎么前面的不运行

    注释。下面是关于如何前面的代码不运行的几种方法: 使用单行注释:使用#符号将要禁止运行的代码行注释掉,以此告诉Python解释不要执行该行代码。例如: # 这是一个示例代码行 #
    的头像 发表于 11-29 15:06 1922次阅读

    查看python安装路径的方法

    Python是一种高级编程语言,常用于开发Web应用、数据分析、人工智能等领域。在使用Python进行开发之前,我们需要先安装Python解释
    的头像 发表于 11-29 14:54 1.1w次阅读

    运行Python程序的几种常见方法

    方法: 使用Python解释 Python解释是运行Py
    的头像 发表于 11-28 15:32 2270次阅读

    如何运行Python程序

    运行Python程序非常简单。Python是一种解释型语言,这意味着可以直接通过解释来执行代码。下面我将详细介绍如何运行
    的头像 发表于 11-24 09:31 1106次阅读

    python代码写完后点哪个运行

    当你完成了编写Python代码后,你可以选择多种方式来运行它。下面是几种常见的运行代码的方式: Python解释Python是一种
    的头像 发表于 11-24 09:28 4693次阅读

    python怎么运行程序

    Python是一种广泛使用的编程语言,它的简易和可读性使得它成为初学者和专业开发人员的首选。在运行Python程序之前,您需要安装Python解释
    的头像 发表于 11-24 09:25 2454次阅读

    Python自带的命令窗口

    Python自带的命令窗口,也称为Python交互式解释,是Python编程语言的一个重要工具,它允许用户在命令行界面中输入和执行
    的头像 发表于 11-22 14:02 853次阅读

    pycharm中python interpreter怎么设置

    在PyCharm中设置Python解释非常简单,只需按照以下步骤操作: 打开PyCharm,并打开你的项目。 在菜单栏中选择"File"(文件),然后选择"Settings"(设置)。在
    的头像 发表于 11-22 11:08 2947次阅读

    python怎样运行代码

    讨论Python代码的运行方式,包括解释、交互式环境和命令行。 Python代码可以通过两种主要的方式运行:解释执行和编译执行。
    的头像 发表于 11-22 10:31 1106次阅读

    Linux 内存管理总结

    一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩
    的头像 发表于 11-10 14:58 483次阅读
    Linux <b class='flag-5'>内存</b><b class='flag-5'>管理</b>总结