Python性能分析與優化

Python性能分析與優化 pdf epub mobi txt 电子书 下载 2025

多格裏奧(Fernando Doglio) 著,陶俊傑,陳小莉 譯
圖書標籤:
  • Python
  • 性能分析
  • 性能優化
  • 代碼優化
  • Profiling
  • 優化技巧
  • 效率提升
  • Python開發
  • 程序優化
  • 性能測試
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115424228
版次:1
商品编码:11967618
包装:平装
丛书名: 图灵程序设计丛书
开本:16开
出版时间:2016-06-01
用纸:胶版纸
页数:178
正文语种:中文

具体描述

産品特色

編輯推薦

對於Python程序員來說,僅僅知道如何寫代碼是不夠的,還要能夠充分利用關鍵代碼的處理能力。本書將討論如何對Python代碼進行性能分析,找齣性能瓶頸,並通過不同的性能優化技術消除瓶頸。

本書從基本的概念開始,循序漸進地介紹高級的優化主題。首先介紹瞭Python的主流性能分析器,以及用於幫助理解性能分析結果的可視化工具。然後介紹瞭通用的性能優化方法和專門針對Python的性能優化方法,帶你瀏覽該語言的主要結構,讓你隻需做一點改變,即可迅速改善代碼的性能。介紹瞭一些專門用於數據處理的程序庫,教你如何正確地使用它們以獲得傑齣性能。

如果你是一名Python開發者,想優化Python代碼的性能,或是想進一步提升編程能力,那麼本書非常適閤你閱讀。

通過閱讀本書,你將能夠:

掌握逐步優化代碼的方法,學會使用不同的性能分析工具
理解性能分析器的概念,學會如何觀察輸齣結果
利用性能分析工具解釋可視化的性能輸齣結果,改善腳本的性能
用Cython快速創建Python與C語言混閤的應用程序
利用PyPy改善Python代碼的性能
通過Numba、Parakeet和pandas優化數據處理代碼

內容簡介

本書首先介紹什麼是性能分析,性能分析如何在項目開發周期中發揮作用,以及通過在項目中進行性能分析實踐能夠取得的效果。緊接著介紹分析性能所需的核心工具(性能分析器和可視化性能分析器)。然後介紹一係列性能優化技術,後一章會介紹一個具有實際意義的優化案例。

作者簡介

Fernando Doglio

Globant公司軟件架構師。過去十年一直從事Web開發工作,期間使用瞭大多數前沿的技術,如PHP、Ruby on Rails、MySQL、Python、Node.js、AngularJS、REST API等。Fernando喜歡鑽研新事物,他的GitHub賬戶每個月也會因此獲得迴購。他還是開源擁護者,並通過網站lookingforpullrequests.com來獲得人們的支持。Fernando另著有Pro REST API Development with Node.js。他的Twitter賬號是@deleteman123。

目錄

目錄

第1 章 性能分析基礎 1
1.1 什麼是性能分析 1
1.1.1 基於事件的性能分析 2
1.1.2 統計式性能分析 4
1.2 性能分析的重要性 5
1.3 性能分析可以分析什麼 6
1.3.1 運行時間 6
1.3.2 瓶頸在哪裏 8
1.4 內存消耗和內存泄漏 8
1.5 過早優化的風險 11
1.6 運行時間復雜度 12
1.6.1 常數時間——O(1) 12
1.6.2 綫性時間——O(n) 12
1.6.3 對數時間——O(logn) 13
1.6.4 綫性對數時間——O(nlogn) 14
1.6.5 階乘時間——O(n!) 15
1.6.6 平方時間——O(n2) 16
1.7 性能分析最佳實踐 18
1.7.1 建立迴歸測試套件 18
1.7.2 思考代碼結構 18
1.7.3 耐心 18
1.7.4 盡可能多地收集數據 19
1.7.5 數據預處理 19
1.7.6 數據可視化 19
1.8 小結 21
第2 章 性能分析器 22
2.1 認識新朋友:性能分析器 22
2.2 cProfile 23
2.2.1 工具的局限 24
2.2.2 支持的API 24
2.2.3 Stats 類 27
2.2.4 性能分析示例 30
2.3 line_profiler 41
2.3.1 kernprof 43
2.3.2 kernprof 注意事項 43
2.3.3 性能分析示例 45
2.4 小結 53
第3 章 可視化——利用GUI 理解性能分析數據 54
3.1 KCacheGrind/pyprof2calltree 54
3.1.1 安裝 55
3.1.2 用法 55
3.1.3 性能分析器示例:TweetStats 57
3.1.4 性能分析器示例:倒排索引 60
3.2 RunSnakeRun 64
3.2.1 安裝 65
3.2.2 使用方法 65
3.2.3 性能分析示例:最小公倍數 66
3.2.4 性能分析示例:用倒排索引查詢 68
3.3 小結 75
第4 章 優化每一個細節 76
4.1 函數返迴值緩存和函數查詢錶 76
4.1.1 用列錶或鏈錶做查詢錶 79
4.1.2 用字典做查詢錶 80
4.1.3 二分查找 80
4.1.4 查詢錶使用案例 80
4.2 使用默認參數 84
4.3 列錶綜閤錶達式與生成器 85
4.4 ctypes 90
4.4.1 加載自定義ctypes 90
4.4.2 加載一個係統庫 92
4.5 字符串連接 92
4.6 其他優化技巧 96
4.7 小結 98
第5 章 多綫程與多進程 99
5.1 並行與並發 99
5.2 多綫程 100
5.3 綫程 101
5.3.1 用thread 模塊創建綫程 102
5.3.2 用threading 模塊創建綫程 106
5.4 多進程 112
5.5 小結 117
第6 章 常用的優化方法 118
6.1 PyPy 118
6.1.1 安裝PyPy 119
6.1.2 JIT 編譯器 120
6.1.3 沙盒 121
6.1.4 JIT 優化 122
6.1.5 代碼示例 124
6.2 Cython 126
6.2.1 安裝Cython 127
6.2.2 建立一個Cython 模塊 127
6.2.3 調用C 語言函數 129
6.2.4 定義類型 130
6.2.5 定義函數類型 131
6.2.6 Cython 示例 133
6.2.7 定義類型的時機選擇 134
6.2.8 限製條件 138
6.3 如何選擇正確的工具 139
6.3.1 什麼時候用Cython 139
6.3.2 什麼時候用PyPy 139
6.4 小結 140
第7 章 用Numba、Parakeet 和pandas實現極速數據處理 141
7.1 Numba 141
7.1.1 安裝 142
7.1.2 使用Numba 144
7.2 pandas 工具 151
7.2.1 安裝pandas 151
7.2.2 用pandas 做數據分析 152
7.3 Parakeet 155
7.3.1 安裝Parakeet 156
7.3.2 Parakeet 是如何工作的 156
7.4 小結 158
第8 章 付諸實踐 159
8.1 需要解決的問題 159
8.1.1 從網站上抓取數據 159
8.1.2 數據預處理 162
8.2 編寫初始代碼 162
8.2.1 分析代碼性能 168
8.2.2 數據分析代碼的優化 172
8.3 小結 178

前言/序言


用户评价

评分

书是正版,物流快

评分

很好的书,赞一个!

评分

书是正版,物流快

评分

京东购买是首选,快捷方便,质量有保证。老客户了,没发现有什么问题。

评分

8发源地予以反映出基于常规检查一次一次

评分

。。。。。。。。。。。

评分

很好的一本书,值得一看

评分

一般的,解释型语言面临运行速度的困境,如何进行优化,提高速度是需要认真思考和解决的问题,这本书可以帮助解决此问题

评分

很好的书,赞一个!

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有