查看原文
其他

Python 3.13与Python 3.12的性能测试对比——起飞了吗?

菠萝的海子 OSC开源社区
2024-10-25

OSCHINA

↑点击蓝字 关注我们



Python 3.13 近期正式发布了稳定版,主要变化包括一个新的交互式解释器、对在自由线程模式(无全局解释锁,no-GIL)下运行的实验性支持 (PEP 703),以及即时编译器 (PEP 744)。这些改进预计将带来性能的适度提升。

近日,开发者在 AMD Ryzen 7000 系列和第 13 代 Intel Core 处理器的电脑上,对 Python 3.13 与 Python 3.12 进行了性能测试,共计 100 项不同的基准测试。

所有测试都在使用 Windows 11 的电脑上进行,使用的是 Python 3.12.7 和 Python 3.13.0(均为 64 位版本)的 pyperformance 1.11.0 库。

AMD Ryzen 7000 系列桌面处理器

测试的第一部分使用一台配备 AMD Ryzen 9 7900 处理器、DDR5 内存和 M.2 PCIe Gen4 NVMe 驱动器的台式电脑。

下表显示了在该设备上使用 Python 3.12(作为参考)和 Python 3.13 进行的 100 项测试的结果。

基准测试Python 3.12Python 3.13提升倍数
2to3226 ms217 ms (1.04x faster)1.04 倍
async_generators262 ms256 ms (1.02x faster)1.02 倍
async_tree_cpu_io_mixed514 ms411 ms (1.25x faster)1.25 倍
async_tree_cpu_io_mixed_tg508 ms393 ms (1.29x faster)1.29 倍
async_tree_eager70.9 ms73.4 ms (1.04x slower)1.04 倍(慢)
async_tree_eager_cpu_io_mixed303 ms312 ms (1.03x slower)1.03 倍(慢)
............
结果显示,Python 3.13 在以下测试中比 Python 3.12 有最佳性能结果:async_tree_eager_io_tg(快 1.61 倍),async_tree_eager_io(快 1.54 倍),async_tree_io_tg(快 1.54 倍)。
然而,你可能会注意到一些测试的性能下降,特别是在 coverage(慢 1.36 倍),create_gc_cycles(慢 1.13 倍),regex_v8(慢 1.13 倍)。
此外,你可以根据属于特定组别的基准测试来检查 Python 3.13 和 Python 3.12 之间的性能差异。
下表显示了与 Python 3.12 相比,Python 3.13 的基准测试组的几何平均值。
基准测试组Python 3.13 与 Python 3.12
apps1.06x faster
asyncio1.22x faster
math1.07x faster
regex不显著
serialize1.05x faster
startup1.04x slower
template1.03x faster

第 13 代 Intel Core 移动处理器

测试的第二部分使用一台配备 Intel Core i3-1315U 处理器(也用于笔记本电脑)、DDR4 内存和 M.2 PCIe Gen4 NVMe 驱动器的迷你电脑。

下表显示了在该设备上使用 Python 3.12(作为参考)和 Python 3.13 进行的 98 项测试的结果。由于在 Python 3.13 的此配置中无法运行,因此跳过了 “dask” 测试。

基准测试Python 3.12Python 3.13提升倍数
2to3260 ms256 ms (1.01x faster)1.01 倍
async_generators253 ms251 ms (1.01x faster)1.01 倍
async_tree_cpu_io_mixed544 ms428 ms (1.27x faster)1.27 倍
async_tree_cpu_io_mixed_tg546 ms412 ms (1.33x faster)1.33 倍
async_tree_eager78.7 ms83.9 ms (1.07x slower)1.07 倍(慢)
............
结果显示,Python 3.13 在以下测试中比 Python 3.12 有最佳性能结果:asyncio_tcp_ssl(快 1.51 倍),async_tree_io_tg(快 1.43 倍),async_tree_eager_io(快 1.40 倍)。
然而,你可能会注意到一些测试的性能下降,特别是在 coverage(慢 3.85 倍),regex_v8(慢 1.26 倍),telco(慢 1.19 倍)。
此外,你可以根据属于特定组别的基准测试来检查 Python 3.13 和 Python 3.12 之间的性能差异。
下表显示了与 Python 3.12 相比,Python 3.13 的基准测试组的几何平均值。
基准测试组Python 3.13 与 Python 3.12
apps不显著
asyncio1.19x faster
math1.06x faster
regex1.04x slower
serialize1.02x faster
startup1.01x slower
template1.02x slower

相关来源

https://en.lewoniewski.info/2024/python-3-12-vs-python-3-13-performance-testing/


延伸阅读

Python正式发布年度大更新3.13.0:实验性支持no-GIL、性能起飞!

Python老司机不为人知的9大“提速”技巧

Python霸权地位已无可争议

END


热门文章

影视飓风那个视频全网下架!还得看看开发者来讲讲视频平台整体技术
神级开源“无头”组件库:已收获7万多star、在国外爆火,前端开发者一定要试试人称“Node杀手”的Deno正式发布2.0,这集又是Rust赢了!近2万star的开源实时系统监控工具btop:高颜值、支持Linux和Mac,用了就再也回不去了!微信工程师:原生鸿蒙是一套新的技术框架,编程语言是独特的ArkTS语言

↓分享、在看与点赞~Orz

继续滑动看下一个
OSC开源社区
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存