Python 3.11比3.10 快60%:使用冒泡排序和递归函数对比测试
Python 3.11 pre-release已经发布。更新日志中提到:
Python 3.11 is up to 10–60% faster than Python 3.10. On average, we measured a 1.25x speedup on the standard benchmark suite. See Faster CPython for details. — Python 3.11 Changelog.
Python 在生产系统上的速度一直是被新手对比和吐槽。,因为真的并不块,为了解决性能问题,我们总是需要使用 Cython 或 Tuplex 转换关键代码。
Python 3.11中特意强了这个优化,我们可以实际验证下到底有没有官方说的平均1.25倍的提升呢?
作为数据科学来说,我更期待的是看看它在 Pandas 处理DF方面是否有任何改进。
首先,让我们尝试一些斐波那契数列。
安装Python 3.11 pre-release
windows的话可以在官方下载安装文件,ubuntu可以用apt命令进行安装
sudo apt install Python3.11
我们在工作中还不能直接使用3.11。所以需要创建单独的虚拟环境来保存两个 Python 版本。
$ virtualenv env10 --python=3.10
$ virtualenv env11 --python=3.11
# To activate v11 you can run,
$ source env11/bin/activate
Python 3.11 与 Python 3.10 相比有多快?
我创建了一个小函数来生成一些斐波那契数。
def fib(n: int) -> int:
return n if n < 2 else fib(n - 1) + fib(n - 2)
用 Timeit 运行上面的斐波那契数生成器来确定执行时间。以下命令将重复生成过程十次并显示最佳执行时间。
# To generate the (n)th Fibonacci number
python -m timeit -n 10 "from fib import fib;fib(n)"
以下是 Python 3.10 和 Python 3.11 上的结果
Python 3.11 在每次运行中都优于 Python 3.10。执行时间大约是 3.11 版本的一半。
我其实是想确认它在 Pandas 任务上的表现。但不幸的是,到目前为止Numpy 和 Pandas 还没有支持 Python 3.11 的版本。
冒泡排序
完整文章
https://avoid.overfit.cn/post/8592a93acd9441a8aacc0623bdd35e96
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)