人民邮电出版社PYTHON高性能(第2版)
- ISBN:9787115488770
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:184
- 出版时间:2017-04-01
- 条形码:9787115488770 ; 978-7-115-48877-0
本书特色
本书主要介绍如何让Python 程序发挥强大性能,内容涵盖针对数值计算和科学代码的优化,以及用于提高Web 服务和应用响应速度的策略。具体内容有:基准测试与剖析、纯粹的Python 优化、基于NumPy和Pandas 的快速数组操作、使用Cython 获得C 语言性能、编译器探索、实现并发性、并行处理、分布式处理、高性能设计等。
内容简介
本书主要介绍如何让Python 程序发挥强大性能,内容涵盖针对数值计算和科学代码的优化,以及用于提高Web 服务和应用响应速度的策略。具体内容有:基准测试与剖析、纯粹的Python 优化、基于NumPy和Pandas 的快速数组操作、使用Cython 获得C 语言性能、编译器探索、实现并发性、并行处理、分布式处理、高性能设计等。
目录
1.1 设计应用程序 2
1.2 编写测试和基准测试程序 7
1.3 使用pytest-benchmark 编写更佳的测试和基准测试程序 10
1.4 使用cProfile 找出瓶颈 12
1.5 使用line_profiler 逐行进行剖析 16
1.6 优化代码 17
1.7 模块dis 19
1.8 使用memory_profiler 剖析内存使用情况 19
1.9 小结 21
第 2 章 纯粹的Python 优化 22
2.1 有用的算法和数据结构 22
2.1.1 列表和双端队列 23
2.1.2 字典 25
2.1.3 集 28
2.1.4 堆 29
2.1.5 字典树 30
2.2 缓存和memoization 32
2.3 推导和生成器 34
2.4 小结 36
第3 章 使用NumPy 和Pandas 快速执行数组操作 37
3.1 NumPy 基础 37
3.1.1 创建数组 38
3.1.2 访问数组 39
3.1.3 广播 43
3.1.4 数学运算 45
3.1.5 计算范数 46
3.2 使用NumPy 重写粒子模拟器 47
3.3 使用numexpr zui大限度地提高性能 49
3.4 Pandas 51
3.4.1 Pandas 基础 51
3.4.2 使用Pandas 执行数据库式操作 55
3.5 小结 59
第4 章 使用Cython 获得C 语言性能 60
4.1 编译Cython 扩展 60
4.2 添加静态类型 62
4.2.1 变量 63
4.2.2 函数 64
4.2.3 类 65
4.3 共享声明 66
4.4 使用数组 67
4.4.1 C 语言数组和指针 67
4.4.2 NumPy 数组 69
4.4.3 类型化内存视图 70
4.5 使用Cython 编写粒子模拟器 72
4.6 剖析Cython 代码 75
4.7 在Jupyter 中使用Cython 78
4.8 小结 80
第5 章 探索编译器 82
5.1 Numba 82
5.1.1 Numba 入门 83
5.1.2 类型特殊化 84
5.1.3 对象模式和原生模式 85
5.1.4 Numba 和NumPy 88
5.1.5 JIT 类 91
5.1.6 Numba 的局限性 94
5.2 PyPy 项目 95
5.2.1 安装PyPy 95
5.2.2 在PyPy 中运行粒子模拟器 96
5.3 其他有趣的项目 97
5.4 小结 97
第6 章 实现并发性 98
6.1 异步编程 98
6.1.1 等待I/O 99
6.1.2 并发 99
6.1.3 回调函数 101
6.1.4 future 104
6.1.5 事件循环 105
6.2 asyncio 框架 108
6.2.1 协程 108
6.2.2 将阻塞代码转换为非阻塞代码 111
6.3 响应式编程 113
6.3.1 被观察者 113
6.3.2 很有用的运算符 115
6.3.3 hot 被观察者和cold 被观察者 118
6.3.4 打造CPU 监视器 121
6.4 小结 123
第7 章 并行处理 124
7.1 并行编程简介 124
7.2 使用多个进程 127
7.2.1 Process 和Pool 类 127
7.2.2 接口Executor 129
7.2.3 使用蒙特卡洛方法计算pi 的近似值 130
7.2.4 同步和锁 132
7.3 使用OpenMP 编写并行的Cython代码 134
7.4 并行自动化 136
7.4.1 Theano 初步 137
7.4.2 Tensorflow 142
7.4.3 在GPU 中运行代码 144
7.5 小结 146
第8 章 分布式处理 148
8.1 分布式计算简介 148
8.2 Dask 151
8.2.1 有向无环图 151
8.2.2 Dask 数组 152
8.2.3 Dask Bag 和DataFrame 154
8.2.4 Dask distributed 158
8.3 使用PySpark 161
8.3.1 搭建Spark 和PySpark 环境 161
8.3.2 Spark 架构 162
8.3.3 弹性分布式数据集 164
8.3.4 Spark DataFrame 168
8.4 使用mpi4py 执行科学计算 169
8.5 小结 171
第9 章 高性能设计 173
9.1 选择合适的策略 173
9.1.1 普通应用程序 174
9.1.2 数值计算代码 174
9.1.3 大数据 176
9.2 组织代码 176
9.3 隔离、虚拟环境和容器 178
9.3.1 使用conda 环境 178
9.3.2 虚拟化和容器 179
9.4 持续集成 183
9.5 小结 184
作者简介
加布丽埃勒·拉纳诺(Gabriele Lanaro)数据科学家、软件工程师,对机器学习、信息检索、数值计算可视化、Web开发、计算机图形学和系统管理有浓厚的兴趣。开源软件包chemlab和chemview的kai发者。现jiu职于Tableau软件公司。
-
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
粒子群算法在优化选取问题中的应用研究
¥40.8¥68.0 -
Web前端开发基础
¥36.5¥57.0 -
智能算法优化及其应用
¥49.0¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥66.8¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥68.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
生成式人工智能(AIGC)应用
¥71.1¥90.0 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0