24式加速你的python

最近手头上的项目暂时告一段落,空闲出一点时间。所以整理一篇24式加速你的python,其实这个文章已经有很多人已经发过,最早我也是在一篇公众号中看到的,现在自己手敲一遍整理一下,加深自己的印象。

一、分析代码的运行时间

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加速字典合并

低速方法
在这里插入图片描述
在这里插入图片描述
高速方法
在这里插入图片描述

六、使用高阶函数进行加速

14. 使用map代替推导式进行加速

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

15. 使用filter代替推导式进行加速

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

七、使用numpy向量化进行加速

16. 使用np.array代替list

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

17. 使用np.ufunc代替math.func

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

18. 使用np.where代替if

低速方法
在这里插入图片描述
在这里插入图片描述
高速方法
在这里插入图片描述

八、加速你的Pandas

19. 使用csv文件读写代替excel文件读写

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

20. 使用pandas多进程工具pandarallel

低速方法
在这里插入图片描述
在这里插入图片描述
高速方法
在这里插入图片描述

九、使用Dask进行加速

21. 使用dask加速dataframe

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

22. 使用dask.delayed进行加速

低速方法
在这里插入图片描述
在这里插入图片描述
高速方法
在这里插入图片描述

十、应用多线程多进程加速

23. 应用多线程加速IO密集型任务

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

24. 应用多进程加速CPU密集型任务

低速方法
在这里插入图片描述
高速方法
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值