软件下载站,为您提供安全的软件下载!

当前位置:首页 > 电脑专区 > 应用软件 > 电子阅读 > python性能分析与优化pdf

python性能分析与优化pdf

分享到:
对于Python程序员来说,仅仅知道如何写代码是不够的,还要能够充分利用关键代码的处理能力。如果你想写出优雅、漂亮、高性能的Python代码,应该看看这本书!本次小编给大家带来一本书,对于想进一步提升编程能力的Python程序员来说,这是一本非常值得购买的书。python性能分析与优化pdf是一个内容十分丰富的主题,而这本书深入探讨了Python代码的性能关键点。本书呢将讨论如何对Python代码进行性能分析,找出性能瓶颈,并通过不同的性能优化技术消除瓶颈。Python性能分析与优化是一本Python代码分析与优化指导书籍,由web程序员多格里奥编著,本书从基本的概念开始,循序渐进地介绍高级的优化主题。首先介绍了Python的主流性能分析器,以及用于帮助理解性能分析结果的可视化工具。然后介绍了通用的性能优化方法和专门针对Python的性能优化方法,带你浏览该语言的主要结构,让你只需做一点改变,即可迅速改善代码的性能。最后介绍了一些专门用于数据处理的程序库,教你如何正确地使用它们以获得最佳性能。如果你是一名Python开发者,想优化Python代码的性能,或是想进一步提升编程能力,那么本书非常适合你阅读。
python性能分析与优化pdf

编辑推荐

通过阅读本书,你将能够:
掌握逐步优化代码的方法,学会使用不同的性能分析工具
理解性能分析器的概念,学会如何观察输出结果
利用性能分析工具解释可视化的性能输出结果,改善脚本的性能
用Cython快速创建Python与C语言混合的应用程序
利用PyPy改善Python代码的性能
通过Numba、Parakeet和pandas优化数据处理代码

内容简介


对于想进一步提升编程能力的Python程序员来说,这是一本非常值得购买的书。高性能Python是一个内容十分丰富的主题,而这本书深入探讨了Python代码的性能关键点。本书首先介绍什么是性能分析,性能分析如何在项目开发周期中发挥作用,以及通过在项目中进行性能分析实践能够取得的效果。紧接着介绍分析性能所需的核心工具(性能分析器和可视化性能分析器)。然后介绍一系列性能优化技术,后一章会介绍一个具有实际意义的优化案例。然后介绍了通用的性能优化方法和专门针对Python的性能优化方法,带你浏览该语言的主要结构,让你只需做一点改变,即可迅速改善代码的性能。最后还介绍了一些专门用于数据处理的程序库,教你如何正确地使用如何它们来完成更好的操作。

作者简介

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。

本书目录


第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
展开更多

软件截图

扫描二维码,手机下载APP

软件下载站本地下载

相关文章