网易首页 > 网易号 > 正文 申请入驻

Python之父:明年让Python快2倍

0
分享至

博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI

5月中旬刚刚结束的Pycon US 2021上,Python之父Guido van Rossum提出要在未来四年内将CPython速度提升5倍。

而这一“Shannon计划”的参与者除了Guido本人之外,还有任职微软的CPython核心开发人员Eric Snow,以及Semmle的研究工程师Mark Shannon。

但在此之前,Guido可并不认为提升CPython的速度有多关键,因为“有其他方法可以获得更好的性能”,比如JIT编译的PyPy,或使用C语言编写扩展。

为什么要加速?

Python真的慢吗?

不见得,开发效率和执行速度本就难以兼得。

而且发展到今天,Python已经是一个胶水语言的定位,主要用来快速构建系统的逻辑控制流,再把对性能要求高的部分丢给C/C++来实现。

不过如果只看标准版的语言实现本身的话……它的性能确实不怎么样。

动态语言的特性决定了Python会在C语言代码运行(runtime)上花费大量的时间,且难以使用JIT(Just-In-Time)进行优化。

在接受英国技术新闻网站The Register的采访时,对于“为什么开始关注CPython性能?”的问题,Shannon表示:

过去几年里,Python在机器学习领域的使用率大大提升,可用资源也越来越多。这意味着我们可以不用担心破坏其可靠性,而是专注在性能上。

并且,Shannon之前参与的HotPy项目中所开发的解释器,比目前CPython解释器的纯Python代码快三倍。这证明了对CPython优化的可行性。

而在去年10月份的时候,耐不住退休寂寞的Guido又加入了微软:

再加上疫情的家里蹲buff,拥有了更多时间的大佬们一拍即合,决定Make Python Great Again。

加速之前的挑战

Shannon坦言,向下兼容是加速Python的最大挑战。

其实不仅是对Python,90年代末libc的那次不兼容更新,直接导致所有应用程序都要重编……

而现在已经凉凉的Pyston,官方文章里提到的Dropbox放弃Pyston项目的几大因素中,第一个也是:

这就是所有既试图兼容CPython,又想大幅提升性能的Python都会遇到的严峻问题。

因为Python的执行类似于HTML渲染:更多是对运行时应如何执行C库的描述,而非单步执行命令。

所以,Python性能提升的源头来自于这些C扩展模块。而CPython又有着超过400k的loc,这意味着要从底层去做优化是一项非常庞大的工程。

特别是对于过于动态的Python语言来说,语言的语义对优化的影响就更大了。

而现在加速的过程中,像是CPython的工具、调试器、配置文件,NumPy包,以及Cython这样的编译器,又会有多少涉及到CPython内部和底层的行为?

因此Shannon表示:

要改变是困难的……与CPython用户间的隐形协议并没有很好地定义什么能改,什么不能改。

可能是五年前从Python2.x迁移到3的痛苦经历实在是有些刻骨铭心,Guido专门发推表示这次的迁移会更加平和。

而他也在Python峰会中承诺:不破坏stable ABI兼容性;不破坏limited API兼容性;不破坏或减缓extreme cases。

“总之,代码的可维护性才是第一要务。”

Python的5倍速之路

按照已在GitHub上发布的faster-cpython,Shannon计划具体分为四个阶段:

Python 3.10

预计在今年10月发布,主要添加一个自适应、专业化的解释器(interpreter)。

解释器将不再遇运行时生成代码,而是利用程序中的类型稳定性,在执行过程中适应类型和数值。

Python 3.11

Guido提出要在3.11版本实现至少2倍的提速,为此,他已经和几位Python开发人员提出了一份增强功能的提案PEP 659

这一提案中表示要增加适应性的字节码解释器,并且实施更有效的异常处理。

除此之外,还提出了优化帧堆栈、改变函数调用的方式、增加优化以加快启动时间,以及修改 .pyc 字节码缓存文件格式等工作。

Python 3.12

这一阶段使用针对小区域的JIT解释器,在运行代码时简单、快速地对小区域的专门代码进行编译。

Python 3.13

同样在代码运行时对扩展区域进行编译,增强编译器,以完成5倍的超级加速。

Guido表示此次围绕性能展开的 Python 变更,将主要服务于运行CPU密集型纯Python代码的开发者,以及内置Python网站的用户。

而在C语言代码(如 NumPy和TensorFlow)、I/O 绑定代码、多线程代码以及算法代码上,提升效果将会比较有限。

微软回馈Python

其实,微软长期以来一直以多种方式为Python项目提供助力,包括在Azure云AI服务教程里发布免费的Python课程,以及通过VS Code Python扩展在Win10及以上版本支持Python。

自 2006 年起,微软还成为了Python软件基金会(PSF)的赞助商,并在今年出资15 万美元进行资助。

目前已有五位Python开发者社区的核心人员在微软任职,包括去年年底加入的Python之父,和这次Shannon计划里的三人之一Eric Snow。

Guido也在这次峰会里特地cue了一下微软,提出微软资助了一支小型Python团队“负责语言解释层面的性能改进工作”,以使他能携手微软同事持续对Python进行开发。

当然,对于3.11版本的短期目标,Guido还是在ppt中给自己兜了个底。

“乐观一点,好奇一点总没错”

而对于那个四年五倍速的最终目标,Guido则表示“我们必须保持旺盛的创造力。”

参考链接:
[1]https://www.theregister.com/2021/05/19/faster_python_mark_shannon_author/
[2]https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-pep-654.html
[3]https://www.python.org/dev/peps/pep-0654/

Python version 3.11.0 alpha 0:
https://github.com/faster-cpython/ideas
“A faster CPython”计划简介:
https://github.com/markshannon/faster-cpython

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
被年轻人的“养生壶用法”惊到了!思路一打开,就成了办公室神器

被年轻人的“养生壶用法”惊到了!思路一打开,就成了办公室神器

室内设计师有料儿
2026-05-06 10:20:16
花一条产线的钱换欧洲30万辆产能!吉利将收购福特工厂产线

花一条产线的钱换欧洲30万辆产能!吉利将收购福特工厂产线

快科技
2026-05-06 11:57:21
王思聪洛杉矶近照曝光:LV装扮显老态,钱难买回精气神

王思聪洛杉矶近照曝光:LV装扮显老态,钱难买回精气神

调侃国际观点
2026-05-06 04:09:41
11年前优衣库男女主现状曝光,他们还在一起生了两个孩子

11年前优衣库男女主现状曝光,他们还在一起生了两个孩子

半糖甜而不腻
2026-04-06 12:09:15
詹皇又刷两最年长纪录!全美热议41岁老将燃尽一战:GOAT从不抱怨

詹皇又刷两最年长纪录!全美热议41岁老将燃尽一战:GOAT从不抱怨

颜小白的篮球梦
2026-05-06 12:06:42
76岁的万科创始人王石,最近彻底成了全网焦点。

76岁的万科创始人王石,最近彻底成了全网焦点。

梦录的西方史话
2026-04-23 14:36:39
特朗普宣布:美伊协议取得重大进展,暂停“自由计划”!美方:搭载美军的商船遭袭!伊朗:与美国处于战争状态,霍尔木兹海峡已关闭

特朗普宣布:美伊协议取得重大进展,暂停“自由计划”!美方:搭载美军的商船遭袭!伊朗:与美国处于战争状态,霍尔木兹海峡已关闭

每日经济新闻
2026-05-06 07:42:13
中国面积最大3所大学,第一名相当于86个清华大学,堪比小城市!

中国面积最大3所大学,第一名相当于86个清华大学,堪比小城市!

云景侃记
2026-03-23 22:16:15
世乒赛5月6日:国乒冲击8强,向鹏疑被弃用,王皓默认林诗栋退台

世乒赛5月6日:国乒冲击8强,向鹏疑被弃用,王皓默认林诗栋退台

体育大学僧
2026-05-06 07:41:56
吴宜泽决赛间歇收到奥沙利文短信支招,火箭:我只帮合得来的球员

吴宜泽决赛间歇收到奥沙利文短信支招,火箭:我只帮合得来的球员

杨华评论
2026-05-05 17:03:56
波切蒂诺爆料:姆巴佩和梅西在巴黎踢不到一块去

波切蒂诺爆料:姆巴佩和梅西在巴黎踢不到一块去

体坛周报
2026-05-06 10:36:14
连续三天嫖娼一次嫖俩,花800元毁掉一手女神好牌,他图什么?

连续三天嫖娼一次嫖俩,花800元毁掉一手女神好牌,他图什么?

街上的行人很刺眼
2026-04-25 10:55:49
央视著名主持人桑晨,原来是这位大明星的后代,难怪长得这么出众

央视著名主持人桑晨,原来是这位大明星的后代,难怪长得这么出众

大眼妹妹
2026-05-06 11:46:39
1979年,徐帅、王震对他提出批评,他不接受:批评我要通过中央!

1979年,徐帅、王震对他提出批评,他不接受:批评我要通过中央!

大运河时空
2026-05-05 07:25:03
5年2.4亿!湖人半决赛0-1落后,里夫斯原形毕露,詹姆斯鼓舞全队

5年2.4亿!湖人半决赛0-1落后,里夫斯原形毕露,詹姆斯鼓舞全队

杨仔述
2026-05-06 13:18:33
陈佳兵接受审查调查

陈佳兵接受审查调查

怀化新闻网
2026-05-06 11:14:44
自己废物老公是大神是啥体验?网友:这种梦会害死好多女生的

自己废物老公是大神是啥体验?网友:这种梦会害死好多女生的

解读热点事件
2026-05-06 00:45:30
王稼祥晚年主动找周总理要工作,毛主席知道后只说了一句话,结果让人意外

王稼祥晚年主动找周总理要工作,毛主席知道后只说了一句话,结果让人意外

文史明鉴
2026-03-18 19:01:14
互联网是有记忆的,她的黑历史一大堆啊!

互联网是有记忆的,她的黑历史一大堆啊!

BenSir本色说
2026-04-15 22:38:07
女子抢方向盘致车祸后续:画面曝光,自大还蛮横,闺蜜反应惹众怒

女子抢方向盘致车祸后续:画面曝光,自大还蛮横,闺蜜反应惹众怒

椰青美食分享
2026-05-06 10:18:03
2026-05-06 13:44:49
量子位 incentive-icons
量子位
追踪人工智能动态
12575文章数 176461关注度
往期回顾 全部

科技要闻

“马斯克不懂AI”:OpenAI当庭戳老底

头条要闻

吴宜泽称欲拿奖金在英买房 50万英镑奖金需交税超23万

头条要闻

吴宜泽称欲拿奖金在英买房 50万英镑奖金需交税超23万

体育要闻

活塞1比0骑士:坎宁安不再是一个人了

娱乐要闻

神仙友谊!杨紫连续10年为张一山庆生

财经要闻

人形机器人七小龙:谁真能卖 谁在讲故事?

汽车要闻

吉利原生新能源越野架构亮相 AI如何带来极致越野

态度原创

旅游
游戏
家居
教育
公开课

旅游要闻

双节同庆!大理500.3万人、57.61亿元!

国产开放世界大作火爆了!外媒力捧无视PS5独占新游

家居要闻

大胆前卫 时尚大宅

教育要闻

中高考专题讲座(2) 谨防“放羊”状态

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版