在python-3.12.3版本下,re.sub执行500w次观察的耗时情况如下,基本稳定在3.7秒左右。总结 3.11.3版本耗时4.5秒,3.12.3版本耗时3.7秒,计算下来提升了大约17%左右。在我的环境中,升级到3.12.3版本后,运行一段时间发现,除了运行速度有所提升外,并未发现其他问题。现在,我将这个发现分享...
好学编程 :Python-3.12.3 新版本发布 & 性能提升
2024年4月,Python发布了python-3.12.3版本,仔细查阅更新日志后,发现其中包含不少性能上的提升。特别是re这个老模块,其性能也得到了显著的改进。
接下来,让我们和好学编程一起探讨一下新版本的re模块性能提升的具体情况。
场景
在网络中,我们经常遇到一些含有攻击性词语的敏感词,这些敏感词会被处理成*号。以“干”字为例,将其替换为“*”号,在Python中实现的代码可能如下所示:
运行效果
设想一下,如果官方通过算法改进提升了re.sub的性能,由于我们的程序直接依赖于它,理论上程序的性能也会得到提升。
在编程领域,这种好事确实存在;我们无需修改代码,只需升级Python版本,就能享受到性能提升的福利。于是,我测试了python-3.11.3和python-3.12.3两个版本在这个场景下的性能差异。
Python-3.11.3性能表现
在python-3.11.3版本下,re.sub执行500w次观察的耗时情况如下,基本稳定在4.5秒左右。
Python-3.12.3性能表现
在python-3.12.3版本下,re.sub执行500w次观察的耗时情况如下,基本稳定在3.7秒左右。
总结
3.11.3版本耗时4.5秒,3.12.3版本耗时3.7秒,计算下来提升了大约17%左右。
在我的环境中,升级到3.12.3版本后,运行一段时间发现,除了运行速度有所提升外,并未发现其他问题。现在,我将这个发现分享给大家。
以上就是本次分享的全部内容,想要学习更多编程技巧,欢迎持续关注好学编程!2024-10-26