注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學Python高性能(第2版)

Python高性能(第2版)

Python高性能(第2版)

定 價:¥59.00

作 者: 加布麗埃勒·拉納諾(Gabriele Lanaro) 著,袁國忠 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115488770 出版時間: 2018-08-01 包裝: 平裝
開本: 16開 頁數(shù): 184 字數(shù):  

內(nèi)容簡介

  本書主要介紹如何讓Python 程序發(fā)揮強大性能,內(nèi)容涵蓋針對數(shù)值計算和科學代碼的優(yōu)化,以及用于提高Web 服務(wù)和應(yīng)用響應(yīng)速度的策略。具體內(nèi)容有:基準測試與剖析、純粹的Python 優(yōu)化、基于NumPy和Pandas 的快速數(shù)組操作、使用Cython 獲得C 語言性能、編譯器探索、實現(xiàn)并發(fā)性、并行處理、分布式處理、高性能設(shè)計等。

作者簡介

  加布麗埃勒·拉納諾(Gabriele Lanaro)數(shù)據(jù)科學家、軟件工程師,對機器學習、信息檢索、數(shù)值計算可視化、Web開發(fā)、計算機圖形學和系統(tǒng)管理有濃厚的興趣。開源軟件包chemlab和chemview的kai發(fā)者?,F(xiàn)jiu職于Tableau軟件公司。

圖書目錄

第 1 章 基準測試與剖析 1
1.1 設(shè)計應(yīng)用程序 2
1.2 編寫測試和基準測試程序 7
1.3 使用pytest-benchmark 編寫更佳的測試和基準測試程序 10
1.4 使用cProfile 找出瓶頸 12
1.5 使用line_profiler 逐行進行剖析 16
1.6 優(yōu)化代碼 17
1.7 模塊dis 19
1.8 使用memory_profiler 剖析內(nèi)存使用情況 19
1.9 小結(jié) 21
第 2 章 純粹的Python 優(yōu)化 22
2.1 有用的算法和數(shù)據(jù)結(jié)構(gòu) 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 小結(jié) 36
第3 章 使用NumPy 和Pandas 快速執(zhí)行數(shù)組操作 37
3.1 NumPy 基礎(chǔ) 37
3.1.1 創(chuàng)建數(shù)組 38
3.1.2 訪問數(shù)組 39
3.1.3 廣播 43
3.1.4 數(shù)學運算 45
3.1.5 計算范數(shù) 46
3.2 使用NumPy 重寫粒子模擬器 47
3.3 使用numexpr zui大限度地提高性能 49
3.4 Pandas 51
3.4.1 Pandas 基礎(chǔ) 51
3.4.2 使用Pandas 執(zhí)行數(shù)據(jù)庫式操作 55
3.5 小結(jié) 59
第4 章 使用Cython 獲得C 語言性能 60
4.1 編譯Cython 擴展 60
4.2 添加靜態(tài)類型 62
4.2.1 變量 63
4.2.2 函數(shù) 64
4.2.3 類 65
4.3 共享聲明 66
4.4 使用數(shù)組 67
4.4.1 C 語言數(shù)組和指針 67
4.4.2 NumPy 數(shù)組 69
4.4.3 類型化內(nèi)存視圖 70
4.5 使用Cython 編寫粒子模擬器 72
4.6 剖析Cython 代碼 75
4.7 在Jupyter 中使用Cython 78
4.8 小結(jié) 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 小結(jié) 97
第6 章 實現(xiàn)并發(fā)性 98
6.1 異步編程 98
6.1.1 等待I/O 99
6.1.2 并發(fā) 99
6.1.3 回調(diào)函數(shù) 101
6.1.4 future 104
6.1.5 事件循環(huán) 105
6.2 asyncio 框架 108
6.2.1 協(xié)程 108
6.2.2 將阻塞代碼轉(zhuǎn)換為非阻塞代碼 111
6.3 響應(yīng)式編程 113
6.3.1 被觀察者 113
6.3.2 很有用的運算符 115
6.3.3 hot 被觀察者和cold 被觀察者 118
6.3.4 打造CPU 監(jiān)視器 121
6.4 小結(jié) 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 小結(jié) 146
第8 章 分布式處理 148
8.1 分布式計算簡介 148
8.2 Dask 151
8.2.1 有向無環(huán)圖 151
8.2.2 Dask 數(shù)組 152
8.2.3 Dask Bag 和DataFrame 154
8.2.4 Dask distributed 158
8.3 使用PySpark 161
8.3.1 搭建Spark 和PySpark 環(huán)境 161
8.3.2 Spark 架構(gòu) 162
8.3.3 彈性分布式數(shù)據(jù)集 164
8.3.4 Spark DataFrame 168
8.4 使用mpi4py 執(zhí)行科學計算 169
8.5 小結(jié) 171
第9 章 高性能設(shè)計 173
9.1 選擇合適的策略 173
9.1.1 普通應(yīng)用程序 174
9.1.2 數(shù)值計算代碼 174
9.1.3 大數(shù)據(jù) 176
9.2 組織代碼 176
9.3 隔離、虛擬環(huán)境和容器 178
9.3.1 使用conda 環(huán)境 178
9.3.2 虛擬化和容器 179
9.4 持續(xù)集成 183
9.5 小結(jié) 184

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號