24 式加速你的 Python

这里分享给大家一篇文章,文章里面列举了一些方法来将我们的 Python 代码提速,大家试试看。

转载来源

公众号:Python 与算法之美

阅读本文大概需要 3 分钟。

一,分析代码运行时间

第 1 式,测算代码运行时间

平凡方法

快捷方法(jupyter 环境)

第 2 式,测算代码多次运行平均时间

平凡方法

快捷方法(jupyter 环境)

第 3 式,按调用函数分析代码运行时间

平凡方法

快捷方法(jupyter 环境)

第 4 式,按行分析代码运行时间

平凡方法

快捷方法(jupyter 环境)

二,加速你的查找

第 5 式,用 set 而非 list 进行查找

低速方法

高速方法

第 6 式,用 dict 而非两个 list 进行匹配查找

低速方法

高速方法

三,加速你的循环

第 7 式,优先使用 for 循环而不是 while 循环

低速方法

高速方法

第 8 式,在循环体中避免重复计算

低速方法

高速方法

四,加速你的函数

第 9 式,用循环机制代替递归函数

低速方法

高速方法

第 10 式,用缓存机制加速递归函数

低速方法

高速方法

第 11 式,用 numba 加速 Python 函数

低速方法

高速方法

五,使用标准库函数进行加速

第 12 式,使用 collections.Counter 加速计数

低速方法

高速方法

第 13 式,使用 collections.ChainMap 加速字典合并

低速方法

高速方法

六,使用 numpy 向量化进行加速

第 14 式,使用 np.array 代替 list

低速方法

高速方法

第 15 式,使用 np.ufunc 代替 math.func

低速方法

高速方法

第 16 式,使用 np.where 代替 if

低速方法

高速方法

七,加速你的 Pandas

第 17 式,使用 np.ufunc 函数代替 applymap

低速方法

高速方法

第 18 式,使用预分配存储代替动态扩容

低速方法

高速方法

第 19 式,使用 csv 文件读写代替 excel 文件读写

低速方法

高速方法

第 20 式,使用 pandas 多进程工具 pandarallel

低速方法

高速方法

八,使用 Dask 进行加速

第 21 式,使用 dask 加速 dataframe

低速方法

高速方法

第 22 式,使用 dask.delayed 进行加速

低速方法

高速方法

九,应用多线程多进程加速

第 23 式,应用多线程加速 IO 密集型任务

低速方法

高速方法

第 24 式,应用多进程加速 CPU 密集型任务

低速方法

高速方法

推荐阅读

1

跟繁琐的命令行说拜拜!Gerapy分布式爬虫管理框架来袭!

2

跟繁琐的模型说拜拜!深度学习脚手架 ModelZoo 来袭!

3

只会用Selenium爬网页?Appium爬App了解一下

4‍‍

妈妈再也不用担心爬虫被封号了!手把手教你搭建Cookies池

崔庆才

静觅博客博主,《Python3网络爬虫开发实战》作者

隐形字

个人公众号:进击的Coder

原文发布于微信公众号 - 进击的Coder(FightingCoder)

原文发表时间:2019-07-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券