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

Python高性能(第2版)

Python高性能(第2版)

定 價(jià):¥59.00

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

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115488770 出版時(shí)間: 2018-08-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 184 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

第 1 章 基準(zhǔn)測(cè)試與剖析 1
1.1 設(shè)計(jì)應(yīng)用程序 2
1.2 編寫(xiě)測(cè)試和基準(zhǔn)測(cè)試程序 7
1.3 使用pytest-benchmark 編寫(xiě)更佳的測(cè)試和基準(zhǔn)測(cè)試程序 10
1.4 使用cProfile 找出瓶頸 12
1.5 使用line_profiler 逐行進(jìn)行剖析 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 列表和雙端隊(duì)列 23
2.1.2 字典 25
2.1.3 集 28
2.1.4 堆 29
2.1.5 字典樹(shù) 30
2.2 緩存和memoization 32
2.3 推導(dǎo)和生成器 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 訪問(wèn)數(shù)組 39
3.1.3 廣播 43
3.1.4 數(shù)學(xué)運(yùn)算 45
3.1.5 計(jì)算范數(shù) 46
3.2 使用NumPy 重寫(xiě)粒子模擬器 47
3.3 使用numexpr zui大限度地提高性能 49
3.4 Pandas 51
3.4.1 Pandas 基礎(chǔ) 51
3.4.2 使用Pandas 執(zhí)行數(shù)據(jù)庫(kù)式操作 55
3.5 小結(jié) 59
第4 章 使用Cython 獲得C 語(yǔ)言性能 60
4.1 編譯Cython 擴(kuò)展 60
4.2 添加靜態(tài)類(lèi)型 62
4.2.1 變量 63
4.2.2 函數(shù) 64
4.2.3 類(lèi) 65
4.3 共享聲明 66
4.4 使用數(shù)組 67
4.4.1 C 語(yǔ)言數(shù)組和指針 67
4.4.2 NumPy 數(shù)組 69
4.4.3 類(lèi)型化內(nèi)存視圖 70
4.5 使用Cython 編寫(xiě)粒子模擬器 72
4.6 剖析Cython 代碼 75
4.7 在Jupyter 中使用Cython 78
4.8 小結(jié) 80
第5 章 探索編譯器 82
5.1 Numba 82
5.1.1 Numba 入門(mén) 83
5.1.2 類(lèi)型特殊化 84
5.1.3 對(duì)象模式和原生模式 85
5.1.4 Numba 和NumPy 88
5.1.5 JIT 類(lèi) 91
5.1.6 Numba 的局限性 94
5.2 PyPy 項(xiàng)目 95
5.2.1 安裝PyPy 95
5.2.2 在PyPy 中運(yùn)行粒子模擬器 96
5.3 其他有趣的項(xiàng)目 97
5.4 小結(jié) 97
第6 章 實(shí)現(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 很有用的運(yùn)算符 115
6.3.3 hot 被觀察者和cold 被觀察者 118
6.3.4 打造CPU 監(jiān)視器 121
6.4 小結(jié) 123
第7 章 并行處理 124
7.1 并行編程簡(jiǎn)介 124
7.2 使用多個(gè)進(jìn)程 127
7.2.1 Process 和Pool 類(lèi) 127
7.2.2 接口Executor 129
7.2.3 使用蒙特卡洛方法計(jì)算pi 的近似值 130
7.2.4 同步和鎖 132
7.3 使用OpenMP 編寫(xiě)并行的Cython代碼 134
7.4 并行自動(dòng)化 136
7.4.1 Theano 初步 137
7.4.2 Tensorflow 142
7.4.3 在GPU 中運(yùn)行代碼 144
7.5 小結(jié) 146
第8 章 分布式處理 148
8.1 分布式計(jì)算簡(jiǎn)介 148
8.2 Dask 151
8.2.1 有向無(wú)環(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í)行科學(xué)計(jì)算 169
8.5 小結(jié) 171
第9 章 高性能設(shè)計(jì) 173
9.1 選擇合適的策略 173
9.1.1 普通應(yīng)用程序 174
9.1.2 數(shù)值計(jì)算代碼 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 ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)