社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

翻身了?Python3.11性能测评超3.10近64%

数据结构与算法 • 1 年前 • 159 次点击  
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇


来源丨Python程序员


Python 这门编程语言的运行速度并不快,这早已不是什么秘密了。很多开发者期待这门语言的性能有所提升,这种情况或即将发生改变,或至少朝着正确的方向前进着,这也是Python的创始人重新出山后的决策结果之一。


5月7日,Python团队发布最新的 Python 版本 - Python 3.11。目前发布的是一个测试版本 (Beta1) ,供开发者们测试或实验时使用。



按照开发团队的所定下规约,预计将于 2022 年 10 月正式版本将释出。


有好奇网友在自己的虚拟机上进行了测试,他在单独的 Docker 容器分别安装了 Python 3.10 和 3.11,并查看它们在一组基准测试中的比较。


在其中使用了pyperformance 包来完成这项工作,这个包会帮助开发者完成繁重的基准测试工作。


总结的数据,按平均数值来计算,Python 3.11 比 Python 3.10 快了 14%。3.11 新版本在某些基准测试上稍微慢了一点,但在大多数基准上,速度提高了 64%。


以下是在有着 10 核 CPU 的 M1 Pro MacBook Pro 16 上运行的基准测试。每个 Python 版本都安装在 Docker 中,它使用 5 个逻辑 CPU 内核。


以下是不同包的运行数据:



目前Python 3.11 的正式版还未正式发布,需要等待一个完全稳定的版本,目前测试的仅是一个候选版本,也许正式版本发布后两者之间的差距会更大。


相关报道:提速25%!CPython 3.11 来了

文 | 罗奇奇,出品 | OSC开源社区(ID:oschina2013)

在退休又复出加入微软的 Faster CPython 团队后, Python 之父 Guido van Rossum 在 2021 年 Python 语言峰会上放下狠话,称团队将在 Python 3.11 版本中实现至少提速 1 倍的进展。
而在今年的 Python 语言峰会上,Guido 和团队搭档 Mark Shannon 汇报了最新的进展:对比 3.10 版本,CPython 3.11 的提速在 10 - 60% 之间,具体速度取决于代码规模和工作领域等条件。当使用 pyperformance 基准套件测量在 Ubuntu Linux 上使用 GCC 编译时, CPython 3.11 平均比 CPython 3.10 快 25% 。
CPython 3.11 的性能改进主要集中在更快的启动和更快的运行时,这些优化大部分来自于 PEP 659  :自适应解释器,它运作思路跟 JIT 有点相似,都是识别热点代码,但自适应解释器的工作范围无法脱离字节码。目前 PEP 659 提案的工作基本完成,但 for 循环和二进制操作的动态优化仍有待完成。
在提速 25% 的同时,Python 3.11 仍有一些需要改善的地方,比如 Python 在 3.11 中的内存消耗与 3.10 中的基本相同。
此外还需关注 C 扩展的问题:CPython 与 C 的简单接口是主要优势,而与 C 扩展的不兼容性则是一大槽点。而 Faster CPython 团队在 CPython 3.11 中所做的优化工作在很大程度上忽略了扩展模块的问题,对此,团队领导者 Shannon 表示,团队正在开辟将低级函数 API 暴露给虚拟机的可能性,以尽可能地减少 Python 代码和 C 代码。
至于饱受期待的 JIT 编译器,Shannon 表示实现 JIT 的第一步是实现一个跟踪解释器,但目前还有太多需要关注的项目,引入 JIT 编译器的工作还有一段路要走,“最早可能要到 3.13 才能到达”。(顺便说一下,Shannon 一直对 CPython 是否真的需要引入 JIT 持怀疑态度。)
有意思的是,昨天我们报道了开发者 Sam Gross 的新提案:完全移除 CPython 解释器的 GIL- 全局解释器锁 。这个提案和 Faster CPython 团队的工作将以截然不同的方式加速多线程 Python 代码,但两者又可能产生一些冲突,毕竟 Faster CPython 已实施的优化,很大一部分都基于 GIL 仍存在的前提。
注:在去年的核心开发者 sprint 会议上,核心开发者们跟 Sam Gross 对 nogil 项目做了一次深入研讨,回答了大家较为关注的诸多问题。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/137077
 
159 次点击