Python高性能(第2版)

Python高性能(第2版)

《Python高性能(第2版)》是2018年8月人民郵電出版社出版的圖書,作者是[加]加布麗埃勒·拉納諾(Gabriele Lanaro)。

基本介紹

  • 書名:Python高性能(第2版)
  • 作者:[加]加布麗埃勒·拉納諾(Gabriele Lanaro)
  • ISBN:9787115488770
  • 頁數:184頁
  • 定價:59元
  • 出版社:人民郵電出版社
  • 出版時間:2018年8月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書主要介紹如何讓Python 程式發揮強大性能,內容涵蓋針對數值計算和科學代碼的最佳化,以及用於提高Web 服務和套用回響速度的策略。具體內容有:基準測試與剖析、純粹的Python 最佳化、基於NumPy和Pandas 的快速數組操作、使用Cython 獲得C 語言性能、編譯器探索、實現並發性、並行處理、分散式處理、高性能設計等。

圖書目錄

第 1 章 基準測試與剖析 1
1.1 設計應用程式 2
1.2 編寫測試和基準測試程式 7
1.3 使用pytest-benchmark 編寫更佳的測試和基準測試程式 10
1.4 使用cProfile 找出瓶頸 12
1.5 使用line_profiler 逐行進行剖析 16
1.6 最佳化代碼 17
1.7 模組dis 19
1.8 使用memory_profiler 剖析記憶體使用情況 19
1.9 小結 21
第 2 章 純粹的Python 最佳化 22
2.1 有用的算法和數據結構 22
2.1.1 列表和雙端佇列 23
2.1.2 字典 25
2.1.3 集 28
2.1.4 堆 29
2.1.5 字典樹 30
2.2 快取和memoization 32
2.3 推導和生成器 34
2.4 小結 36
第3 章 使用NumPy 和Pandas 快速執行數組操作 37
3.1 NumPy 基礎 37
3.1.1 創建數組 38
3.1.2 訪問數組 39
3.1.3 廣播 43
3.1.4 數學運算 45
3.1.5 計算範數 46
3.2 使用NumPy 重寫粒子模擬器 47
3.3 使用numexpr zui大限度地提高性能 49
3.4 Pandas 51
3.4.1 Pandas 基礎 51
3.4.2 使用Pandas 執行資料庫式操作 55
3.5 小結 59
第4 章 使用Cython 獲得C 語言性能 60
4.1 編譯Cython 擴展 60
4.2 添加靜態類型 62
4.2.1 變數 63
4.2.2 函式 64
4.2.3 類 65
4.3 共享聲明 66
4.4 使用數組 67
4.4.1 C 語言數組和指針 67
4.4.2 NumPy 數組 69
4.4.3 類型化記憶體視圖 70
4.5 使用Cython 編寫粒子模擬器 72
4.6 剖析Cython 代碼 75
4.7 在Jupyter 中使用Cython 78
4.8 小結 80
第5 章 探索編譯器 82
5.1 Numba 82
5.1.1 Numba 入門 83
5.1.2 類型特殊化 84
5.1.3 對象模式和原生模式 85
5.1.4 Numba 和NumPy 88
5.1.5 JIT 類 91
5.1.6 Numba 的局限性 94
5.2 PyPy 項目 95
5.2.1 安裝PyPy 95
5.2.2 在PyPy 中運行粒子模擬器 96
5.3 其他有趣的項目 97
5.4 小結 97
第6 章 實現並發性 98
6.1 異步編程 98
6.1.1 等待I/O 99
6.1.2 並發 99
6.1.3 回調函式 101
6.1.4 future 104
6.1.5 事件循環 105
6.2 asyncio 框架 108
6.2.1 協程 108
6.2.2 將阻塞代碼轉換為非阻塞代碼 111
6.3 回響式編程 113
6.3.1 被觀察者 113
6.3.2 很有用的運算符 115
6.3.3 hot 被觀察者和cold 被觀察者 118
6.3.4 打造CPU 監視器 121
6.4 小結 123
第7 章 並行處理 124
7.1 並行編程簡介 124
7.2 使用多個進程 127
7.2.1 Process 和Pool 類 127
7.2.2 接口Executor 129
7.2.3 使用蒙特卡洛方法計算pi 的近似值 130
7.2.4 同步和鎖 132
7.3 使用OpenMP 編寫並行的Cython代碼 134
7.4 並行自動化 136
7.4.1 Theano 初步 137
7.4.2 Tensorflow 142
7.4.3 在GPU 中運行代碼 144
7.5 小結 146
第8 章 分散式處理 148
8.1 分散式計算簡介 148
8.2 Dask 151
8.2.1 有向無環圖 151
8.2.2 Dask 數組 152
8.2.3 Dask Bag 和DataFrame 154
8.2.4 Dask distributed 158
8.3 使用PySpark 161
8.3.1 搭建Spark 和PySpark 環境 161
8.3.2 Spark 架構 162
8.3.3 彈性分散式數據集 164
8.3.4 Spark DataFrame 168
8.4 使用mpi4py 執行科學計算 169
8.5 小結 171
第9 章 高性能設計 173
9.1 選擇合適的策略 173
9.1.1 普通應用程式 174
9.1.2 數值計算代碼 174
9.1.3 大數據 176
9.2 組織代碼 176
9.3 隔離、虛擬環境和容器 178
9.3.1 使用conda 環境 178
9.3.2 虛擬化和容器 179
9.4 持續集成 183
9.5 小結 184

相關詞條

熱門詞條

聯絡我們