前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python 3.11 ,即将变得更快!

Python 3.11 ,即将变得更快!

作者头像
AirPython
发布于 2022-09-28 03:34:29
发布于 2022-09-28 03:34:29
6100
举报
文章被收录于专栏:Python 自动化Python 自动化

作为一门异常受欢迎的编程语言,Python的优点有很多,比如:易于学习、用途广泛、有成千上万个用于数据科学的有用的库。但同时,Python一直被诟病的就是它运行速度太慢。

在去年的PyCon US 2021大会上,Python之父Guido van Rossum曾表示:要在2022年的Python 3.11中,将Python速度提高2倍,4年内,速度提升5倍,以解决Python与C++等其他编程语言相比在速度上的关键缺点。

如今,速度太慢的情况在Python 3.11中即将改变。在今年晚些时候发布稳定版之前,目前正处于其预览版(版本3.11.0b1)的第一个测试阶段。

CPython 3.11已比3.10提速1.25倍

在近期的PyCon US 2022会议上,Core Python(CPython)开发者Mark Shannon分享了关于加速Python项目的细节,此外,开发者还展示了在浏览器中运行Python代码这一目标的进展。

去年,微软资助了Python软件基金会(PSF)的一个项目——“Shannon Plan”,该项目由Python创造者Guido van Rossum和Mark Shannon领导,承诺在今年的Python 3.11中将其速度提高2倍。其愿景是促使Python向C语言的性能发展。

微软在2020年聘请了van Rossum,并让他自由选择任何项目。在去年的PyCon US 2021会议上,他称自己 "选择回到我的根源",并将致力于解决Python著名的性能不足问题

性能也许并不是Python的首要任务,因为机器学习和数据科学的采用得益于TensorFlow、NumPy、Pandas以及更多的平台,如AWS的Boto3 SDK for Python。这些平台每月被下载数千万次,并在通常不受硬件限制的环境中使用。

Faster CPython项目(GitHub地址:https://github.com/faster-cpython/ideas/blob/main/main-vs-310.rst)提供了一些关于CPython 3.11在过去一年的性能更新。在PyCon US 2022会议之前,该项目公布了更多的结果:在几十个性能指标上对3.11测试预览版和3.10进行了比较,显示3.11.0b1总体上比3.10快1.25倍

新的字节码解释器使错误处理更高效

Shannon对该项目提高Python性能的能力持现实态度,但他相信这些改进可以将Python的可行用途扩展到更多的虚拟机。他去年在Python增强提案(PEP)659中写道:“Python被广泛认为是缓慢的。

虽然Python永远达不到C、Fortran甚至Java等低级语言的性能,但我们希望它能与脚本语言的快速实现相媲美,如Javascript的V8或Lua的LuaJIT。具体来说,我们希望通过CPython实现这些性能目标,使所有Python用户受益,包括那些无法使用PyPy或其他替代性虚拟机的用户。”

在PEP 659中详述的关键方法是:“专门化的、自适应的解释器,但它在一个非常小的区域内积极地专门化代码,并能够迅速和低成本地适应错误的专门化。

如上所述,虚拟机的优化是 "昂贵的",往往需要很长的 "预热 "时间。为了避免这种时间开销,虚拟机应该推测“即使在一个函数执行几次后,专门化也是合理的”。所以,解释器需要持续地且非常低廉地进行优化和去优化。

这应该会产生一个更快的CPython解释器,它可以在程序执行过程中跟踪单个字节码。据Python软件基金会(PSF)称,新解释器的工作几乎已经完成,但仍需要完成循环和二进制操作的动态专门化。

此外,3.11的内存消耗与3.10相比没有变化。

CPython JIT编译器即将实现

关于Python性能的即时(JIT)编译器问题,根据Python软件基金会(PSF)对该事件的报道,Shannon认为这不是一个优先事项,可能最早也要到Python 3.13才能实现。

此外,用于数据科学的Anaconda Python发行版的制造商Anaconda,正在支持Pyston项目,该项目是Python的一个实现,承诺比Python有速度上的提高。

Anaconda在加速Python方面较早的努力之一是Numba项目,这是一个基于LLVM的CPython JIT编译器,它可以加速在CPU或GPU上运行的Python数值函数,但不能优化整个程序,也不能解决更广泛的Python用例。另一个是PyPy,它是CPython的一个实现,带有JIT编译器以获得更快的性能。

根据Faster CPython项目的实施计划(GitHub地址:https://github.com/markshannon/faster-cpython/blob/master/plan.md),CPython 3.12可能会获得一个 "用于小区域的简单JIT编译器",在运行时使用相对简单、快速的编译器编译小区域的专门代码;而CPython 3.13将扩展编译区域,增强编译器以生成卓越的机器代码

最后,对于以上Faster CPython项目加速Python的做法,你有什么看法?欢迎在评论区留言

参考链接:

https://www.zdnet.com/article/programming-languages-python-is-slow-but-its-about-to-get-faster/

来源:CSDN

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AirPython 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
提速25%!CPython 3.11 来了
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 文 | 罗奇奇,出品 | OSC开源社区(ID:oschina2013) 在退休又复出加入微软的 Faster CPython 团队后, Python 之父 Guido van Rossum 在 2021 年 Python 语言峰会上放下狠话,称团队将在 Python 3.11 版本中实现至少提速 1 倍的进展。 而在今年的 Python 语言峰会上,Guido 和团队搭档 Mark Shannon 汇报了最新的进展:对比 3.10
昱良
2022/05/25
1.4K0
提速25%!CPython 3.11 来了
Python 3.11 的速度或将提高两倍
Python 3.11 将于 2022 年 10 月发布,Python 的作者 Guido Van Rossum(龟叔) 计划将 Python 的速度提高两倍,他未来四年的总体目标是将 Python 的速度提高五倍。
somenzz
2022/04/07
6120
Python3.11稳定版本发布,或许是最好的版本
Python 以速度慢著称,例如在 Python 中,常规循环比 C 中的类似循环慢几个数量级。
统计学家
2022/11/07
5.2K0
Python3.11稳定版本发布,或许是最好的版本
与 Python 之父聊天:更快的 Python!
Python猫注: 在今年 5 月的 Python 语言峰会上,Guido van Rossum 作了一场《Making CPython Faster》的分享(材料在此),宣告他加入了激动人心的“香农计划”,旨在 4 年内提升 Python 性能至 5 倍。近日,Guido 上了一档英文播客节目(时长 30 分钟),谈论了他正在做的与高性能相关的工作,解答了几个问题。播客作者整理了一份内容纪要,本文是对该纪要的翻译。注:文末有音频及文稿下载
Python猫
2021/10/31
5750
Python 3.12 目标:还可以更快!
按照发布计划,Python 3.11.0 将于 2022 年 10 月 24 日发布。
Python猫
2022/10/06
8740
Python之父:Python 4.0可能不会来了
2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题。
计算机视觉研究院
2021/05/31
9160
Python之父:Python 4.0可能不会来了
5倍提升,加速CPython!Quant如何看?
去年11月,Python 之父Guido van Rossum宣布了他已经加入微软的消息:
量化投资与机器学习微信公众号
2021/07/07
1.2K0
5倍提升,加速CPython!Quant如何看?
Python 之父爆料:明年至少令 Python 提速 1 倍!
5 月 13 日,在2021 年 Python 语言峰会上,Python 之父 Guido van Rossum 作了一场《Making CPython Faster》的分享,表示他已经投入了这项计划!这印证了半年起的一则消息:有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助。
AI科技大本营
2021/06/08
2570
Python 之父爆料:明年至少令 Python 提速 1 倍!
Python 之父爆料:明年至少令 Python 提速 1 倍!
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助。当时并没有在意,此后也没有看到这方面的消息。
ACM算法日常
2021/06/16
2760
Python 之父爆料:明年至少令 Python 提速 1 倍!
关于 Python 3.13 你所需要知道的几点
自20世纪80年代末,Guido Van Rossum在荷兰阿姆斯特丹东部的一个科技园区开始开发Python编程语言,它最初被设计为一种单线程的解释型语言。这到底是什么意思呢?
数据科学工厂
2024/12/30
880
关于 Python 3.13 你所需要知道的几点
Python 之父爆料:明年至少令 Python 提速 1 倍!
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助。当时并没有在意,此后也没有看到这方面的消息。
青南
2021/06/23
4380
Python 之父爆料:明年至少令 Python 提速 1 倍!
Python 之父爆料:明年至少令 Python 提速 1 倍!
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助。当时并没有在意,此后也没有看到这方面的消息。
Python猫
2021/05/16
2980
关于 Python 3.13 的规划
faster-cpython 项目的目标是提高 Python 解释器的性能,使其能够更好地支持大型应用程序和数据科学领域。3.13 的目标是将花在解释器上的时间减少至少 50%。希望通过以下方式实现这一目标:
数据STUDIO
2023/11/09
5270
关于 Python 3.13 的规划
让Python代码运行更快的方式
Python因其强大、灵活且易于使用等特性,而赢得了声誉。这些优点使其在各种各样的应用程序、工作流程和领域中得到了广泛应用。但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Python总是比C或C ++这样的机器本地语言慢一个数量级。
AI科技大本营
2019/05/28
1.1K0
万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
众所周知,Python 3.11 版本带来了较大的性能提升,但是,它具体在哪些方面上得到了优化呢?除了著名的“香农计划”外,它还包含哪些与性能相关的优化呢?本文将带你一探究竟!
Python猫
2022/11/12
1K0
让Python代码更快运行的 5 种方法
不论什么语言,我们都需要注意性能优化问题,提高执行效率。选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之 处,那就是执行效率和性能不够亮。尽管Python从未如C和Java一般快速,但是不少Python项目都处于开发语言领先位置。 Python 很简单易用,但大多数人使用Python都知道在处理密集型cpu工作时,它的数量级依然低于C、Java和JavaScript。但不少第三方不愿赘述 Python的优点,而是决定自内而外提高其性能。如果你想让Python在同一硬件
小小科
2018/05/03
1.4K0
Python这几个库,快到飞起!
作为Python老司机来说,这样的库不要太多了,从地图绘制到算法优化、从调试工具到代码分析,python的生态里有大量的库资源可以给Pythoner使用
行哥玩Python
2021/12/09
5430
Python这几个库,快到飞起!
Python 3.13:性能和规模的新突破
Python 3.13 引入了实验性的自由线程模式和 JIT 编译器,为提高性能和多核利用率铺平了道路,同时增强了交互体验。
云云众生s
2024/10/09
1.1K0
为什么Python这么慢?
答案在很大程度上取决于您正在运行的应用程序的类型。没有一个基准测试是完美的,但是计算机语言基准测试游戏是一个很好的起点。
HuangWeiAI
2019/11/25
1.6K0
为什么Python这么慢?
4 个快速的 Python 编译器 f
Python 其实是一种相当快的语言,但它并不像编译型语言那么快。 这是因为官方实现的 CPython 解释执行的,更准确地说,是 Python 代码被编译为字节码,然后进行解释。这对学习是很有好处的,因为可以在 Python REPL 中运行代码并立即查看结果,而不必编译和执行。 但是由于 Python 程序并没有那么快,开发人员多年来创建了几个 Python 的编译器,包括 IronPython 和 Jython。
py3study
2020/01/02
1.7K0
相关推荐
提速25%!CPython 3.11 来了
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档