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
2
跟繁琐的模型说拜拜!深度学习脚手架 ModelZoo 来袭!
3
4
妈妈再也不用担心爬虫被封号了!手把手教你搭建Cookies池
崔庆才
静觅博客博主,《Python3网络爬虫开发实战》作者
隐形字
个人公众号:进击的Coder
长按识别二维码关注