前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >24 式加速你的 Python

24 式加速你的 Python

作者头像
崔庆才
发布2019-07-23 15:56:24
9120
发布2019-07-23 15:56:24
举报
文章被收录于专栏:进击的Coder

这里分享给大家一篇文章,文章里面列举了一些方法来将我们的 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的Coder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,分析代码运行时间
  • 二,加速你的查找
  • 三,加速你的循环
  • 四,加速你的函数
  • 五,使用标准库函数进行加速
  • 六,使用 numpy 向量化进行加速
  • 七,加速你的 Pandas
  • 八,使用 Dask 进行加速
  • 九,应用多线程多进程加速
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档