写点什么

Python 之父:让 Python 速度快 2 倍

  • 2021-05-19
  • 本文字数:2176 字

    阅读完需:约 7 分钟

Python之父:让 Python 速度快2倍

近日,在美国参加 PyCon 语言峰会的 Guido van Rossum 表示,必须让 Python 语言的速度水平提高 2 倍,借此与 C++ 等高性能编程语言正面对抗。


Core Python(CPython)的市场吸引力也证明了上述论断,其出色的运行速度已经催生出 Pyston 等多种实现方案。


正是由于天然性能不足,才让 Python 语言更多在数据科学与机器学习领域得以施展——这类工作负载主要由 GPU 负责处理,因此抵消了大部分速度劣势。当然,Python 也确实成就了 NumPy 以及 TensorFlow 机器学习框架等多种特定领域库,建立起自己的数据科学与机器学习应用优势。

van Rossum 的雄心

上周,2021Python 语言峰会 PyCon 正式召开。在峰会上,van Rossum 在 GitHub 上发布了一份文档,详尽介绍了自己提升 Python 速度表现的雄心壮志。



在文档中,他披露了“Shannon Plan”项目,承诺 4 年把 Python 速度提升 5 倍。并且在 Python 3.11 版本,实现 Python 速度提高 2 倍的目标。据悉,Python 3.11 是计划于明年发布 pre-alpha 版本的 Python 三个分支之一。

闲不住的大牛

30 年前,由于对已有的编程语言感到十分失望,van Rossum 决定开发一门新语言——一门既易于使用功能又强大的语言。于是,Python 诞生了。


目前,Python 已经发展成世界上非常流行的编程语言,有无数开发者使用它处理大大小小的任务,特别是 Web 开发人员、数据科学家和系统管理员。并且,Python 也在一些世界知名的组织中扮演着关键角色,比如,Netflix 用 Python 向全球 1 亿多户家庭提供流媒体视频,Instagram 用 Python 实现图片分享,NASA 借助 Python 来探索太空。


去年 11 月,van Rossum 决定离开“退休”状态重返工作,正式加盟微软。


而在退休前,他曾在 Dropbox 公司工作,并写下了 400 万行 Python 代码。


他坦言,“退休后,每天闲坐在家简直无聊透顶”。为此,他申请了微软职位,并顺利出任微软杰出工程师这一实权职务。


对此,微软也表现出自己对优秀人才的重视,允许他“自由选择项目”,这也让 van Rossum“再次回到自己熟悉的战场”。


van Rossum 写道,“感谢微软以这样的方式回馈 Python 项目”。


微软助力 Python 项目

据悉,微软公司长期以来一直以多种方式为 Python 项目提供助力,包括发布免费的 Python 课程(微软 Azure 云 AI 服务教程的一部分)、通过 VS Code Python 扩展在 Windows 10 及以上版本支持 Python,并成为 Python 项目的正式赞助商。


此外,微软自 2006 年起开始成为 Python 软件基金会(PSF)的赞助商,并在今年提供了 15 万美元资助。


van Rossum 表示,微软还资助了一支小型 Python 团队“负责语言解释层面的性能改进工作”。


目前,微软共有五位专为 CPython 开发做出贡献的核心成员,分别为 Brett Cannon、Steve Dower、Guido van Rossum、Eric Snow 以及 Barry Warsaw,他们也都是 Python 核心开发者社区中的资深人士。


微软在今年 4 月发表声明,提到 Eric Snow 一直在通过子解释器研究 Python 语言中的多线程性能。自 Python 3.5 版本开始,Steve Dower 出任 build 管理员,同时也是 Windows 平台的 CPython 专家。Barry Warsaw 则身为 Python 指导委员会成员、Python 安全响应小组成员并为 Python 版本管理器做出了贡献。


并且,随着近期软件供应链攻击受到整个技术社区的高度关注,微软还将重点放在保护主程序包 repo PyPI(即 Python Package Index)身上。


微软公司 Python 与 AI 工具首席经理 Dan Taylor 提到,“作为 PSF 15 万美元财务赞助中的一部分,我们将把资金集中到程序包工作小组当中,帮助他们进一步改善 PyPI 与程序包生态系统。”


“面对近期持续涌现的安全漏洞,我们与 Python 社区已经意识到建立可依赖供应链的重要意义,我们也很高兴能为这项长期改进做出切实贡献。”

van Rossum 对一些问题的回应

目前,van Rossum 也指出他和其他微软同事将携手核心 Python 开发人员推进公开贡献,目前正专注于对 CPython 进行增量式变更。之所以暂时不进行重大变更,是为了避免开发者们再次经历由 Python 2.x 迁移至 Python 3 的痛苦经历。整个迁移过程持续达十年之久,也给 Python 的群众基础造成不小的影响。


van Rossum 写道,“如果分叉 / 分支不能长期存在,就不会有激动人心的 pull 产出。”


他还强调,“我们将继续负责维护与支持工作……所有讨论细节都将公开发布在 GitHub repo 当中。”


有部分资深人士认为 Python 的解释器及其 C 语言应用程序二进制接口(ABI)与应用程序协议接口(API)阻碍了 Python 在浏览器环境下的创新空间,van Rossum 也就此做出了回应。


“首先不能破坏稳定 ABI 的兼容性;其次不能破坏有限 API 的兼容性;第三不能破坏或拖慢极端用例。总之,代码的可维护性才是第一要务。”


但核心 Python 项目是不是真能在 3.11 版本中将速度顺利加倍?van Rossum 好像心里也没底,所以在说明中给自己留了点后路。



他写道,“我们还没法确定 2 倍速度的目标能不能实现。但乐观一点、好奇一点总没有错。”


而且他还大开脑洞,提出了在 Python 3.11 版本之后进一步将速度提高 5 倍的思路,并强调“我们必须保持旺盛的创造力。”


他提到,此次围绕性能展开的 Python 变更,将主要服务于那些“运行 CPU 密集型纯 Python 代码”的开发者以及采用内置 Python 的网站客户。


但对于大家使用 C 语言编写的代码(例如 NumPy 与 TensorFlow)、I/O 绑定代码、多线程代码以及算法代码,此次升级的效果就非常有限了。

2021-05-19 17:535458
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 367.3 次阅读, 收获喜欢 1802 次。

关注

评论

发布
暂无评论
发现更多内容

不会吧不会吧?字节“百万级,nginx视频教程吾爱破解

Java 程序员 后端

主动学习微服务架构深度解析:微服务的采用前提,微服务使用场景

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发

Java 程序员 后端

三、Spring Cloud之软负载均衡 Ribbon,mysql架构

Java 程序员 后端

三面腾讯,已拿offer!分享复习经验和后台开发面经

Java 程序员 后端

不是吧阿sir,你这Redis太熟了吧,震惊面试官第六年

Java 程序员 后端

为什么不想做Java了, 现在Java面试怎么这么难,从自身找原因

Java 程序员 后端

为什么不想做Java了,6年经验去面试10分钟结束,现在Java面试怎么这么难

Java 程序员 后端

为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

Java 程序员 后端

【Flutter 专题】22 图解 PopupMenu 那些事儿

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

五位阿里大牛联手撰写的《深入浅出Java多线程》

Java 程序员 后端

不是吧阿sir,你这多线程并发也太熟了吧,震惊面试官第四年

Java 程序员 后端

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

世界顶级SQL技术专家呕心沥血半年才整理出这份:SQL优化核心思想笔记,手慢无

Java 程序员 后端

二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

Java 程序员 后端

五、redis配置信息以及常用命令,java语言程序设计基础篇第十一版pdf

Java 程序员 后端

三面蚂蚁金服终获 java高岗 offer,却直言再也不想体验第二次了

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里(1)

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里

Java 程序员 后端

三面阿里云斩获offer:微服务+Redis,积累总结

Java 程序员 后端

不是吧,就因为他和面试官多聊了半个小时红黑树,进了腾讯

Java 程序员 后端

不到30岁开上兰博基尼的程序员,为什么这么强,他告诉我只需要把多线程搞好你也行

Java 程序员 后端

一行Java代码实现两玩家交换装备【并发编程】

Java 程序员 后端

上线半天下载量破100W!阿里内部微服务进阶笔记,超详细

Java 程序员 后端

云服务器下centos7,nginx面试题

Java 程序员 后端

万字长文,字节大牛百万调优经验之作:JVM调优实战笔记

Java 程序员 后端

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java 程序员 后端

两年JAVA程序员的面试总结,mysql索引原理

Java 程序员 后端

为了面试阿里巴巴、腾讯、字节跳动,linux内核架构

Java 程序员 后端

为什么一个还没毕业的大学生能够把 IO 讲的这么好?

Java 程序员 后端

架构实战营模块二作业

孙志强

架构实战营

Python之父:让 Python 速度快2倍_编程语言_万佳_InfoQ精选文章