24式加速你的Python

24式加速你的Python


作者 | 梁云1991

来源 Python与算法之美


一、分析代码运行时间


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

平凡方法
24式加速你的Python

快捷方法(jupyter环境)
24式加速你的Python

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

平凡方法
24式加速你的Python

快捷方法(jupyter环境)
24式加速你的Python

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

平凡方法
24式加速你的Python
24式加速你的Python

快捷方法(jupyter环境)
24式加速你的Python

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

平凡方法
24式加速你的Python
24式加速你的Python
24式加速你的Python
24式加速你的Python

快捷方法(jupyter环境)
24式加速你的Python


二、加速你的查找

第5式,用set而非list进行查找
低速方法
24式加速你的Python
24式加速你的Python

高速方法
24式加速你的Python

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

低速方法
24式加速你的Python
24式加速你的Python

高速方法
24式加速你的Python


三、加速你的循环

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

低速方法
24式加速你的Python

高速方法
24式加速你的Python

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

低速方法
24式加速你的Python

高速方法
24式加速你的Python

四、加速你的函数

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

低速方法
24式加速你的Python

高速方法
24式加速你的Python

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

低速方法
24式加速你的Python

高速方法
24式加速你的Python

第11式,用numba加速Python函数

低速方法
24式加速你的Python

高速方法
24式加速你的Python


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

第12式,使用collections.Counter加速计数
低速方法
24式加速你的Python

高速方法
24式加速你的Python
第13式,使用collections.ChainMap加速字典合并
低速方法
24式加速你的Python
24式加速你的Python

高速方法
24式加速你的Python


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

第14式,使用map代替推导式进行加速
低速方法
24式加速你的Python

高速方法
24式加速你的Python
第15式,使用filter代替推导式进行加速
低速方法
24式加速你的Python

高速方法
24式加速你的Python

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

第16式,使用np.array代替list
低速方法
24式加速你的Python

高速方法
24式加速你的Python
第17式,使用np.ufunc代替math.func
低速方法
24式加速你的Python

高速方法
24式加速你的Python

第18式,使用np.where代替if
低速方法
24式加速你的Python
24式加速你的Python

高速方法
24式加速你的Python


八、加速你的Pandas

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

低速方法
24式加速你的Python

高速方法
24式加速你的Python
第20式,使用pandas多进程工具pandarallel

低速方法
24式加速你的Python
24式加速你的Python

高速方法
24式加速你的Python


九、使用Dask进行加速

第21式,使用dask加速dataframe
低速方法
24式加速你的Python

高速方法
24式加速你的Python
第22式,使用dask.delayed进行加速
低速方法
24式加速你的Python
24式加速你的Python

高速方法
24式加速你的Python

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

第23式,应用多线程加速IO密集型任务
低速方法
24式加速你的Python

高速方法
24式加速你的Python
第24式,应用多进程加速CPU密集型任务
低速方法
24式加速你的Python

高速方法
24式加速你的Python

(*本文为 AI科技大本营转载文章,转载请联系原作者)

精彩推荐


2019 中国大数据技术大会(BDTC)历经十一载,再度火热来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。【早鸟票】【特惠学生票】限时抢购,扫码了解详情!

24式加速你的Python


推荐阅读

24式加速你的Python

你点的每个“在看”,我都认真当成了喜欢