<內容簡介>
「儘管在學界與業界都非常普遍,但 Python 經常因為在實際應用上過於緩慢而遭人詬病,這本書透過詳盡的策略介紹,將那些誤解與疑慮通通掃除掉,讓我們能夠利用 Python 建立快速且具高度擴充性的計算機制。」
— Jake VanderPlas, 華盛頓大學
你的 Python 程式碼可能運作無誤,但你需要它執行得更快速。透過探索設計選項背後的基礎理論,這本實用指南幫助你對 Python 實作獲得更深入的瞭解。你將學習如何找出效能瓶頸,並且在高資料量(high-data-volume)的程式中大幅加快你的程式碼運作。
如何善用多核心架構或叢集?或者建立能夠擴充及縮小規模,但又不失可靠性的系統?有經驗的 Python 程式人員將學到這些議題與其他問題的具體解法,並且獲悉各家公司利用高效能 Python 從事社群媒體分析(social media analytics),機器學習(machine learning),以及各種議題的英雄史。
‧更深入理解 numpy,Cython 及效能分析器
‧熟悉 Python 如何抽象化底層的電腦架構
‧利用效能分析尋找 CPU 時間與記憶體使用量的瓶頸
‧透過選擇合適的資料結構撰寫有效率的程式
‧加速矩陣與向量計算
‧使用工具將 Python 編譯成機器碼
‧並行管理多個 I/O 與計算操作
‧將 multiprocessing 程式碼轉換成執行在本地或遠端的叢集上
‧使用較少的 RAM 解決大型的問題
<章節目錄>
第一章 理解高效能Python
第二章 透過效能分析找出瓶頸
第三章 串列與元組
第四章 字典與集合
第五章 迭代器與生成器
第六章 矩陣與向量計算
第七章 編譯成C
第八章 並行性
第九章 multiprocessing 模組
第十章 叢集與任務佇列
第十一章 使用較少的RAM
第十二章 來自業界的經驗學習
<作者介紹>
Micha Gorelick,因時光旅行方面的貢獻,獲得 2046 年的諾貝爾獎,他決定回到 2000 年代,從事太空物理學的研究,在 bitly 分析大數據,並且與人共同創立 Fast Forward Labs,擔任常駐的 Mad Scientist 的職務,其研究主題包羅萬象,從機器學習到高效能串流演算法都有
Ian Ozsvald 是 ModelInsight.io 的資料科學家與講師,Python 的經驗超過十年。多年來,他在 PyCon 與 PyData 研討會上教導高效能 Python 的主題,並且在英國擔任資料科學與高效能計算領域的顧問