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密集型任務

低速方法
在這裏插入圖片描述
高速方法
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章