91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
Python高性能編程(第2版)
Python高性能編程(第2版)
Micha Gorelick, Ian Ozsvald
張海龍 譯
出版時(shí)間:2023年08月
頁(yè)數(shù):375
“本書將改變你的編程思維,這樣的編程著作鳳毛麟角?!?br /> ——Hilary Mason
Residence at Accel數(shù)據(jù)科學(xué)家

雖然現(xiàn)在編寫的Python代碼能夠正確地運(yùn)行,但我們希望其運(yùn)行速度能夠更快。本書基于Python 3編寫,闡述了如何找出計(jì)算密集型程序的性能瓶頸,進(jìn)而加快代碼的執(zhí)行速度。通過探索設(shè)計(jì)背后的基本理論,本書讓讀者對(duì)Python實(shí)現(xiàn)有了更深入的認(rèn)識(shí)。
本書面向編程經(jīng)驗(yàn)豐富的Python程序員。讀者將學(xué)習(xí)如何充分利用多核體系結(jié)構(gòu)或集群,如何讓系統(tǒng)在不喪失可靠性的情況下擴(kuò)縮容。通過本書,讀者還可獲悉眾多問題的具體解決方案;了解眾多公司在使用高性能Python進(jìn)行社交媒體分析、產(chǎn)品化機(jī)器學(xué)習(xí)等過程中遇到的難事、趣事。
本書包括以下內(nèi)容:
● 更牢固地掌握NumPy、Cython和剖析器;
● 了解Python如何抽象底層的計(jì)算機(jī)體系結(jié)構(gòu);
● 通過剖析找出CPU和內(nèi)存消耗方面的瓶頸;
● 選擇合適的數(shù)據(jù)結(jié)構(gòu)來(lái)編寫高效的程序;
● 提高矩陣和向量計(jì)算的速度;
● 使用工具將Python代碼編譯成機(jī)器代碼;
● 同時(shí)管理多個(gè)I/O和計(jì)算操作;
● 對(duì)多進(jìn)程代碼進(jìn)行轉(zhuǎn)換,使其能夠在本地或遠(yuǎn)程集群中運(yùn)行;
● 使用Docker等工具更快地部署代碼。
  1. 前言
  2. 第1章 理解高性能Python
  3. 1.1 基本的計(jì)算機(jī)系統(tǒng)
  4. 1.1.1 計(jì)算單元
  5. 1.1.2 存儲(chǔ)單元
  6. 1.1.3 通信層
  7. 1.2 綜合考慮
  8. 1.3 為何使用Python
  9. 1.4 如何成為高性能程序員
  10. 1.4.1 最佳實(shí)踐
  11. 1.4.2 對(duì)Notebook最佳實(shí)踐的思考
  12. 1.4.3 重新發(fā)現(xiàn)工作的樂趣
  13. 第 2章 通過剖析找出瓶頸
  14. 2.1 高效地剖析
  15. 2.2 朱利亞集合簡(jiǎn)介
  16. 2.3 計(jì)算整個(gè)朱利亞集合.
  17. 2.4 簡(jiǎn)單計(jì)時(shí)方法—print語(yǔ)句和裝飾器
  18. 2.5 使用UNIX命令time的簡(jiǎn)單計(jì)時(shí)
  19. 2.6 使用模塊cProfile
  20. 2.7 使用SnakeViz可視化cProfile的輸出
  21. 2.8 使用line_profiler逐行剖析
  22. 2.9 使用memory_profiler診斷內(nèi)存占用情況
  23. 2.10 使用PySpy查看既有進(jìn)程
  24. 2.11 字節(jié)碼:幕后發(fā)生的情況
  25. 2.11.1 使用模塊dis查看CPython字節(jié)碼
  26. 2.11.2 復(fù)雜度隨方法而異
  27. 2.12 優(yōu)化期間使用單元測(cè)試確保代碼正確
  28. 2.13 確保代碼剖析成功的策略
  29. 2.14 小結(jié)
  30. 第3章 列表和元組
  31. 3.1 更高效的查找方式
  32. 3.2 比較列表和元組
  33. 3.2.1 作為動(dòng)態(tài)數(shù)組的列表
  34. 3.2.2 作為靜態(tài)數(shù)組的元組
  35. 3.3 小結(jié)
  36. 第4章 字典和集合
  37. 4.1 字典和集合的工作原理
  38. 4.1.1 插入和檢索
  39. 4.1.2 刪除
  40. 4.1.3 調(diào)整長(zhǎng)度
  41. 4.1.4 散列函數(shù)和熵
  42. 4.2 字典和名稱空間
  43. 4.3 小結(jié)
  44. 第5章 迭代器和生成器
  45. 5.1 無(wú)窮數(shù)列迭代器
  46. 5.2 延遲執(zhí)行生成器
  47. 5.3 小結(jié)
  48. 第6章 矩陣和向量計(jì)算
  49. 6.1 問題簡(jiǎn)介
  50. 6.2 Python列表不夠好嗎
  51. 6.3 內(nèi)存碎片
  52. 6.3.1 理解perf
  53. 6.3.2 根據(jù)perf的輸出做決策
  54. 6.3.3 進(jìn)入numpy
  55. 6.4 使用numpy解決擴(kuò)散問題
  56. 6.4.1 內(nèi)存分配和就地操作
  57. 6.4.2 有選擇地優(yōu)化:找出需要修復(fù)的地方
  58. 6.5 numexpr:讓你能夠更快、更輕松地執(zhí)行就地操作
  59. 6.6 警示故事:對(duì)優(yōu)化進(jìn)行驗(yàn)證(scipy)
  60. 6.7 從矩陣優(yōu)化獲得的經(jīng)驗(yàn)教訓(xùn)
  61. 6.8 Pandas
  62. 6.8.1 Pandas的內(nèi)部模型
  63. 6.8.2 將函數(shù)應(yīng)用于多行數(shù)據(jù)
  64. 6.8.3 根據(jù)部分結(jié)果而不是使用拼接來(lái)創(chuàng)建DataFrame和Series
  65. 6.8.4 有多種解決問題的方式(而且可能有更快的方式)
  66. 6.8.5 Pandas高效開發(fā)建議
  67. 6.9 小結(jié)
  68. 第7章 編譯成C代碼
  69. 7.1 速度提升方法
  70. 7.2 JIT編譯器和AOT編譯器
  71. 7.3 為何類型信息有助于提高代碼運(yùn)行速度
  72. 7.4 使用C語(yǔ)言編譯器
  73. 7.5 回顧朱利亞集合示例
  74. 7.6 Cython
  75. 7.7 pyximport
  76. 7.7.1 使用Cython標(biāo)注選項(xiàng)來(lái)分析代碼塊
  77. 7.7.2 添加類型標(biāo)注
  78. 7.8 Cython和numpy
  79. 7.9 Numba
  80. 7.10 PyPy
  81. 7.10.1 垃圾收集方面的差異
  82. 7.10.2 運(yùn)行PyPy及安裝模塊
  83. 7.11 速度提升小結(jié)
  84. 7.12 各種技術(shù)的適用場(chǎng)景
  85. 7.13 圖形處理單元
  86. 7.13.1 動(dòng)態(tài)圖:PyTorch
  87. 7.13.2 GPU基本剖析
  88. 7.13.3 GPU性能考慮因素
  89. 7.13.4 在什么情況下使用GPU
  90. 7.14 語(yǔ)言交互接口
  91. 7.14.1 ctypes
  92. 7.14.2 cffi
  93. 7.14.3 f2py
  94. 7.14.4 CPython模塊
  95. 7.15 小結(jié)
  96. 第8章 異步I/O
  97. 8.1 異步編程簡(jiǎn)介
  98. 8.2 async/await的工作原理
  99. 8.2.1 串行爬蟲
  100. 8.2.2 gevent
  101. 8.2.3 tornado
  102. 8.2.4 aiohttp
  103. 8.3 兼具CPU密集型和I/O密集型的問題
  104. 8.3.1 串行版
  105. 8.3.2 分批處理結(jié)果
  106. 8.3.3 完全異步
  107. 8.4 小結(jié)
  108. 第9章 模塊multiprocessing
  109. 9.1 模塊multiprocessing概述
  110. 9.2 使用蒙特卡羅方法估算圓周率
  111. 9.3 使用進(jìn)程和線程估算圓周率
  112. 9.3.1 使用Python對(duì)象
  113. 9.3.2 使用Joblib而不是multiprocessing
  114. 9.3.3 并行系統(tǒng)中的隨機(jī)數(shù)
  115. 9.3.4 使用numpy
  116. 9.4 查找素?cái)?shù)
  117. 9.5 使用進(jìn)程間通信驗(yàn)證素?cái)?shù)
  118. 9.5.1 串行解決方案
  119. 9.5.2 樸素進(jìn)程池解決方案
  120. 9.5.3 改進(jìn)的樸素進(jìn)程池解決方案
  121. 9.5.4 將Manager.Value用作標(biāo)志
  122. 9.5.5 將Redis用作標(biāo)志
  123. 9.5.6 將RawValue用作標(biāo)志
  124. 9.5.7 將mmap用作標(biāo)志
  125. 9.5.8 將mmap用作標(biāo)志(終極版)
  126. 9.6 使用multiprocessing共享numpy數(shù)據(jù)
  127. 9.7 同步文件和變量訪問
  128. 9.7.1 鎖定文件
  129. 9.7.2 鎖定值
  130. 9.8 小結(jié)
  131. 第10章 集群和作業(yè)隊(duì)列
  132. 10.1 集群的優(yōu)點(diǎn)
  133. 10.2 集群的缺點(diǎn)
  134. 10.2.1 糟糕的集群升級(jí)策略讓華爾街大牛損失4.62億美元
  135. 10.2.2 Skype全球24小時(shí)中斷服務(wù)
  136. 10.3 常見的集群設(shè)計(jì)
  137. 10.4 如何啟動(dòng)集群解決方案
  138. 10.5 使用集群時(shí)如何避免麻煩
  139. 10.6 兩種集群解決方案
  140. 10.6.1 使用IPython Parallel為研究工作提供支持
  141. 10.6.2 使用Dask并行化Pandas
  142. 10.7 使用NSQ打造健壯的生產(chǎn)集群
  143. 10.7.1 隊(duì)列
  144. 10.7.2 發(fā)布者/訂閱者
  145. 10.7.3 分布式素?cái)?shù)計(jì)算
  146. 10.8 其他集群工具
  147. 10.9 Docker
  148. 10.9.1 Docker的性能
  149. 10.9.2 Docker的優(yōu)點(diǎn)
  150. 10.10 小結(jié)
  151. 第 11章 減少內(nèi)存占用量
  152. 11.1 基本類型對(duì)象的開銷很高
  153. 11.1.1 模塊array可高效地存儲(chǔ)大量的基本類型對(duì)象
  154. 11.1.2 使用NumExpr減少NumPy占用的內(nèi)存量
  155. 11.2 理解集合占用的內(nèi)存
  156. 11.3 比較字節(jié)和Unicode
  157. 11.4 在內(nèi)存中高效地存儲(chǔ)大量文本
  158. 11.5 使用scikit-learn FeatureHasher進(jìn)行文本建模
  159. 11.6 DictVectorizer和FeatureHasher簡(jiǎn)介
  160. 11.7 SciPy稀疏矩陣
  161. 11.8 減少內(nèi)存占用量的技巧
  162. 11.9 概率數(shù)據(jù)結(jié)構(gòu)
  163. 11.9.1 使用1字節(jié)的莫里斯計(jì)數(shù)器實(shí)現(xiàn)非常接近的計(jì)數(shù)
  164. 11.9.2 K最小值
  165. 11.9.3 布隆過濾器
  166. 11.9.4 LogLog計(jì)數(shù)器
  167. 11.9.5 實(shí)例
  168. 第 12章 實(shí)戰(zhàn)經(jīng)驗(yàn)教訓(xùn)
  169. 12.1 使用特征引擎簡(jiǎn)化特征工程流水線
  170. 12.1.1 機(jī)器學(xué)習(xí)中的特征工程
  171. 12.1.2 艱巨的特征工程流水線部署任務(wù)
  172. 12.1.3 利用開源Python庫(kù)
  173. 12.1.4 使用Feature-engine簡(jiǎn)化特征工程流水線的構(gòu)建和部署工作
  174. 12.1.5 推廣新的開源包
  175. 12.1.6 開發(fā)和維護(hù)開源庫(kù)及鼓勵(lì)積極投稿
  176. 12.2 表現(xiàn)出色的數(shù)據(jù)科學(xué)團(tuán)隊(duì)
  177. 12.2.1 需要多長(zhǎng)時(shí)間
  178. 12.2.2 探索和規(guī)劃
  179. 12.2.3 管理預(yù)期和交付
  180. 12.3 Numba
  181. 12.3.1 一個(gè)簡(jiǎn)單的示例
  182. 12.3.2 最佳實(shí)踐和建議
  183. 12.3.3 尋求幫助
  184. 12.4 優(yōu)化和思維
  185. 12.5 Adaptive Lab的社交媒體分析(2014)
  186. 12.5.1 Adaptive Lab的Python使用情況
  187. 12.5.2 SoMA的設(shè)計(jì)
  188. 12.5.3 開發(fā)方法
  189. 12.5.4 維護(hù)SoMA
  190. 12.5.5 給同行的建議
  191. 12.6 RadimRehurek網(wǎng)站如何讓深度學(xué)習(xí)快步如飛(2014)
  192. 12.6.1 管用的策略
  193. 12.6.2 優(yōu)化方面的經(jīng)驗(yàn)教訓(xùn)
  194. 12.6.3 結(jié)語(yǔ)
  195. 12.7 Lyst網(wǎng)站可用于生產(chǎn)環(huán)境的大規(guī)模機(jī)器學(xué)習(xí)(2014)
  196. 12.7.1 集群設(shè)計(jì)
  197. 12.7.2 發(fā)展迅猛的初創(chuàng)公司中的代碼迭代
  198. 12.7.3 構(gòu)建推薦引擎
  199. 12.7.4 報(bào)告和監(jiān)控
  200. 12.7.5 一些建議
  201. 12.8 Smesh的大規(guī)模社交媒體分析(2014)
  202. 12.8.1 Python在Smesh中扮演的角色
  203. 12.8.2 平臺(tái)
  204. 12.8.3 實(shí)時(shí)高性能字符串匹配
  205. 12.8.4 報(bào)告、監(jiān)控、調(diào)試和部署
  206. 12.9 使用PyPy成功地實(shí)現(xiàn)Web和數(shù)據(jù)處理系統(tǒng)(2014)
  207. 12.9.1 使用的工具
  208. 12.9.2 數(shù)據(jù)庫(kù)
  209. 12.9.3 Web應(yīng)用
  210. 12.9.4 OCR和翻譯
  211. 12.9.5 任務(wù)分配和任務(wù)隊(duì)列
  212. 12.9.6 結(jié)語(yǔ)
  213. 12.10 Lanyrd的任務(wù)隊(duì)列(2014)
  214. 12.10.1 Python在Lanyrd扮演的角色
  215. 12.10.2 讓任務(wù)隊(duì)列表現(xiàn)出色
  216. 12.10.3 報(bào)告、監(jiān)控、調(diào)試和部署
  217. 12.10.4 給同行的建議
書名:Python高性能編程(第2版)
譯者:張海龍 譯
國(guó)內(nèi)出版社:人民郵電出版社
出版時(shí)間:2023年08月
頁(yè)數(shù):375
書號(hào):978-7-115-59947-6
原版書書名:High Performance Python, 2nd Edition
原版書出版商:O'Reilly Media
Micha Gorelick
 
米夏·戈雷利克(Micha Gorelick),F(xiàn)ast Forward Labs聯(lián)合創(chuàng)始人,致力于探討與機(jī)器學(xué)習(xí)研究和利用相關(guān)的倫理及現(xiàn)實(shí)問題。
 
 
Ian Ozsvald
 
伊恩·歐日沃爾德(Ian Ozsvald),首席數(shù)據(jù)科學(xué)家兼團(tuán)隊(duì)指導(dǎo);PyData倫敦年會(huì)的組織者之一;負(fù)責(zé)運(yùn)營(yíng)位于倫敦的咨詢公司Mor Consulting Data Science;經(jīng)常在國(guó)際會(huì)議上發(fā)表演講。
 
 
購(gòu)買選項(xiàng)
定價(jià):119.80元
書號(hào):978-7-115-59947-6
出版社:人民郵電出版社