TOP
0
0
Python性能分析與優化(簡體書)
滿額折

Python性能分析與優化(簡體書)

商品資訊

人民幣定價:45 元
定價
:NT$ 270 元
優惠價
87235
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:7 點
商品簡介
目次
相關商品

商品簡介

本書首先介紹什麼是性能分析,性能分析如何在專案開發週期中發揮作用,以及通過在專案中進行性能分析實踐能夠取得的效果。緊接著介紹分析性能所需的核心工具(性能分析器和視覺化性能分析器)。然後介紹一系列性能優化技術,最後一章會介紹一個具有實際意義的優化案例。
本書適合所有Python 程式師閱讀。

目次

第1章 性能分析基礎 1
1.1 什麼是性能分析 1
1.1.1 基於事件的性能分析 2
1.1.2 統計式性能分析 4
1.2 性能分析的重要性 5
1.3 性能分析可以分析什麼 6
1.3.1 執行時間 6
1.3.2 瓶頸在哪裡 8
1.4 記憶體消耗和記憶體洩漏 8
1.5 過早優化的風險 11
1.6 執行時間複雜度 12
1.6.1 常數時間——O(1) 12
1.6.2 線性時間——O(n) 12
1.6.3 對數時間——O(logn) 13
1.6.4 線性對數時間——O(nlogn) 14
1.6.5 階乘時間——O(n!) 15
1.6.6 平方時間——O(n2) 16
1.7 性能分析最佳實踐 18
1.7.1 建立回歸測試套件 18
1.7.2 思考代碼結構 18
1.7.3 耐心 18
1.7.4 盡可能多地收集資料 19
1.7.5 數據預處理 19
1.7.6 數據視覺化 19
1.8 小結 21
第2章 性能分析器 22
2.1 認識新朋友:性能分析器 22
2.2 cProfile 23
2.2.1 工具的局限 24
2.2.2 支持的API 24
2.2.3 Stats類 27
2.2.4 性能分析示例 30
2.3 line_profiler 41
2.3.1 kernprof 43
2.3.2 kernprof注意事項 43
2.3.3 性能分析示例 45
2.4 小結 53
第3章 視覺化——利用GUI理解性能分析資料 54
3.1 KCacheGrind/pyprof2calltree 54
3.1.1 安裝 55
3.1.2 用法 55
3.1.3 性能分析器示例:TweetStats 57
3.1.4 性能分析器示例:倒排索引 60
3.2 RunSnakeRun 64
3.2.1 安裝 65
3.2.2 使用方法 65
3.2.3 性能分析示例:最小公倍數 66
3.2.4 性能分析示例:用倒排索引查詢 68
3.3 小結 75
第4章 優化每一個細節 76
4.1 函數返回值緩存和函數查詢表 76
4.1.1 用列表或鏈表做查詢表 79
4.1.2 用字典做查詢表 80
4.1.3 二分查找 80
4.1.4 查詢表使用案例 80
4.2 使用默認參數 84
4.3 列表綜合運算式與生成器 85
4.4 ctypes 90
4.4.1 載入自訂ctypes 90
4.4.2 載入一個系統庫 92
4.5 字元串連接 92
4.6 其他優化技巧 96
4.7 小結 98
第5章 多執行緒與多進程 99
5.1 並行與併發 99
5.2 多執行緒 100
5.3 執行緒 101
5.3.1 用thread模組創建執行緒 102
5.3.2 用threading模組創建執行緒 106
5.4 多進程 112
5.5 小結 117
第6章 常用的優化方法 118
6.1 PyPy 118
6.1.1 安裝PyPy 119
6.1.2 JIT編譯器 120
6.1.3 沙箱 121
6.1.4 JIT優化 122
6.1.5 代碼示例 124
6.2 Cython 126
6.2.1 安裝Cython 127
6.2.2 建立一個Cython模組 127
6.2.3 調用C語言函數 129
6.2.4 定義類型 130
6.2.5 定義函數類型 131
6.2.6 Cython示例 133
6.2.7 定義類型的時機選擇 134
6.2.8 限制條件 138
6.3 如何選擇正確的工具 139
6.3.1 什麼時候用Cython 139
6.3.2 什麼時候用PyPy 139
6.4 小結 140
第7章 用Numba、Parakeet和pandas實現極速資料處理 141
7.1 Numba 141
7.1.1 安裝 142
7.1.2 使用Numba 144
7.2 pandas工具 151
7.2.1 安裝pandas 151
7.2.2 用pandas做資料分析 152
7.3 Parakeet 155
7.3.1 安裝Parakeet 156
7.3.2 Parakeet是如何工作的 156
7.4 小結 158
第8章 付諸實踐 159
8.1 需要解決的問題 159
8.1.1 從網站上抓取數據 159
8.1.2 數據預處理 162
8.2 編寫初始代碼 162
8.2.1 分析代碼性能 168
8.2.2 資料分析代碼的優化 172
8.3 小結 178

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 235
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區