让 Python 更快:Python 3.6 的性能优化

2021-11-06

在 5 月的 PyCon 2017 上,Python 核心开发者 Victor Stinner 分享了《Optimizations which made Python 3.6 faster than Python 3.5》。介绍了开发团队在 Python 上所做的一些优化工作,并分享了相关的基准测试效果。


Victor Stinner 现就职于 RedHat,正在尝试将 OpenStack 迁移到 Python 3。自 2010 年开始,Victor 成为 Python 核心开发人员,专注于 Python 的性能优化。


一起来看看。


基准测试



之前,很多基准测试套件并不稳定,让人很难相信特定优化的效果到底是好是坏。



Victor 开发来一个叫 perf 的模块(https://github.com/haypo/perf),作为运行基准测试的框架。perf 提供来更稳定、更可预测的结果。



基准测试结果




(效果非常可观)



Python 3.5 中的优化



用 C 语言重写部分模块,性能提升明显,但是有些 bug 难以解决,往往需要很长时间才能真正修复。




用 C 语言重写了 functools.lru_cache (https://docs.python.org/3/library/functools.html#functools.lru_cache)。代码精巧,不好处理,有个 bug 用了三年半时间才修复。



两年半…… 


Python 3.6 中的优化



使用 Python 快速内存分配器。



从 bytecode 到 wordcode (https://mail.python.org/pipermail/python-dev/2016-April/144044.html)




展望:Python 3.7 中的优化







参考资料:


1.幻灯片:https://github.com/haypo/conf/raw/master/2017-PyconUS/python36_opt.pdf


2.视频:https://www.youtube.com/watch?v=d65dCD3VH9Q


3.报道:https://lwn.net/SubscriberLink/725114/37b96034a1bf15c1/

相关文章

详解Python 3.6.x程序打包并发布至pypi的完整过程

2021-11-06
python setup.py sdist和python setup.py bdist_wheel,创建相应的文件,如图:第四步,登录pypi.python.org网站,注册账号并登录,然...

使用Python 3.5/3.6监听本机任意窗口中的按键操作

2021-11-06
python setup.py build_ext --swig=..\swigwin-3.0.12\swig.exe,可以根据实际情况修改swig.exe的路径,另外本机最好已安装VC2008第五...

边看边用!这本 Python 3.6 的书火爆了 IT 圈!

2021-11-06
而且注意这本书是基于Python3.6来的.4.技术方向多这本书涵盖了网络编程、数据分析、网络爬虫等大量企业实用的知识,内容涵盖了...

如何在 Linux 中安装最新的 Python 3.6 版本

2021-11-06
Python 3.6在我写这篇文章的时候(2017 年三月中旬),在 CentOS 和 Debian 8 中可用的最新 Python 版本分别是 Python 3.4 和 ...

Python 3.6 Highlights

2021-11-06
//docs.python.org/3.9/whatsnew/3.6.html#whatsnew36-pep525之前yield和await没法在同一个函数里用,现在可以了,所以可以做成异...

《统计学习方法》的Python 3.6复现,已开源!

2021-11-06
Python 3.6,已经全部测试通过.项目地址:https://github.com/fengdu78/lihang-code文末附电子书及代码下载方式《统计学习方法》,...

使用异步Python 3.6和Redis编写快速应用程序

2021-11-06
英文原文:https://eng.paxos.com/write-fast-apps-using-async-python-3.6-and-redis 译者:guoziqing

Python3.6入门与进阶实战等多套视频教程

2021-11-06
以下是一些视频教程的链接与关键词,关注以下公众号二维码,回复关键词就可领取Python进阶与实战视频教程链接: https://pan....

资源 | 《统计学习方法》的Python 3.6复现,实测可用

2021-11-06
Python数据科学【读者福利】 ↓↓↓【知识星球】:Python数据科学学习社区【限时下载】:500g学习资源免费领取往期精彩推荐 ↓↓↓【1】...

刷爆抖音,4万好评!这本 Python 3.6 的书又断货了...

2021-11-06
而且注意这本书是基于Python3.6来的.4.技术方向多这本书涵盖了网络编程、数据分析、网络爬虫等大量企业实用的知识,内容涵盖了...

随机推荐