您当前的位置:首页 > 计算机 > 编程开发 > Python

python3.11.0性能提升十分恐怖!

时间:04-06来源:作者:点击数:

版本提升总结

Python 3.11中使用了全新的解释器技术,将代码的执行速度提高了10%。这是通过使用更快的字节码解释器和优化的内存管理来实现的。这意味着Python代码可以更快地运行,特别是在处理大型数据集时。

其次是语言特性的增强。Python 3.11引入了一些新的语言特性,包括结构模式匹配、类型特征、装饰器参数和类型注释。这些功能使得Python代码更加简洁、易于阅读和维护。例如,结构模式匹配可以使得代码更加清晰地处理复杂的数据结构。

另外,Python 3.11还引入了一些新的标准库模块,包括zoneinfo、graphlib和dataclasses。这些模块使得Python更加适合处理不同领域的任务,例如时区转换、图论算法和数据类定义。

最后,Python 3.11还改进了开发者体验。它增强了交互式解释器、调试器和测试框架,使得开发者可以更加高效地编写、测试和调试Python代码。例如,新的交互式解释器支持多行编辑和自动补全,使得开发者可以更加方便地探索Python语言特性。

Python 3.11相对于3.10有多项提升,包括性能提升、语言特性增强、标准库模块增加和开发者体验改进。这些提升使得Python成为一种更加强大、灵活和易于使用的编程语言。

Python 版本性能比较

最新发布的python3.11,历史版本python3.10,python3.9性能测试对比。

测试环境配置

硬件环境:

CPU: Intel® Xeon® Platinum 8175M

内存: 16G

CPU核心数2

软件环境:

python3.9 python3.10 ,采用 Ancocnda3创建的python环境, 由于python3.11暂时还不能在anaconda3中创建虚拟环境,所以下载了官方的tgz包并编译安装。

python测试版本一览

python3.11采用最新发布的 python3.11.0,解压之后并编译安装

在这里插入图片描述

python3.11.0终端如下

在这里插入图片描述

测试代码

测试采用蒙特卡罗计算Π的python源码,单例测试5次计算代码,取平均时间,用于计算性能。

x,y随机次数为1亿次

测试源码 test.py

import random
import time


def cal_Pi():
    N = 10000 * 10000
    k = 0
    start_time = time.time()
    for i in range(N):
        x, y = random.random(), random.random()
        dist = pow(x ** 2 + y ** 2, 0.5)
        if dist <= 1.0:
            k += 1
    pi = 4 * (k / N)
    end_time = time.time()
    print("time cost: ", end_time - start_time)
    return end_time - start_time

if __name__ == "__main__":
    total_time = 0
    for i in range(5):
        t = cal_Pi()
        total_time += t
        print("第{}次运行时间:{}".format(i + 1, t))
    avg_time = total_time / 5
    print("测试的平均时间为:{:.2f}s".format(avg_time))

测试结果

python3.10.6 测试结果

time cost: 51.47206449508667

第1次运行时间:51.47206449508667

time cost: 53.01375722885132

第2次运行时间:53.01375722885132

time cost: 50.49100184440613

第3次运行时间:50.49100184440613

time cost: 53.75036644935608

第4次运行时间:53.75036644935608

time cost: 49.02680158615112

第5次运行时间:49.02680158615112

测试的平均时间为:51.55s

Python 3.9.13 测试结果

time cost: 53.14418315887451

第1次运行时间:53.14418315887451

time cost: 49.42537879943848

第2次运行时间:49.42537879943848

time cost: 49.438923835754395

第3次运行时间:49.438923835754395

time cost: 49.18369388580322

第4次运行时间:49.18369388580322

time cost: 50.24960136413574

第5次运行时间:50.24960136413574

测试的平均时间为:50.29s

python3.11.0 测试结果

time cost: 38.883957386016846

第1次运行时间:38.883957386016846

time cost: 35.14061093330383

第2次运行时间:35.14061093330383

time cost: 35.07052826881409

第3次运行时间:35.07052826881409

time cost: 35.682968854904175

第4次运行时间:35.682968854904175

time cost: 35.12810921669006

第5次运行时间:35.12810921669006

测试的平均时间为:35.98s

结果分析

python3.10的版本与3.9版本计算性能接近,计算1亿次随机点计算Π,平均速度都为51秒左右

python3.11.0版本,平均计算时间约为35.98s,相比与其他两个版本,性能提升约30%!!!

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门