Python 高性能 第2版 PDF 文档
本书主要介绍如何让 Python 程序发挥强大性能,内容涵盖针对数值计算和科学代码的优化,以及用于提高 Web 服务和应用响应速度的策略。具体内容有 :基准测试与剖析、纯粹的 Python 优化、基于 NumPy 和 Pandas 的快速数组操作、使用 Cython 获得 C 语言性能、编译器探索、实现并发性、并行处理、分布式处理、高性能设计等。
本书适合 Python 开发人员阅读。
最近几年,Python 编程语言的人气急剧上升,其直观而有趣的语法及大量质量上乘的第三方库居功至伟。很多大学的编程入门和进阶课程,以及科学和工程等数值密集型领域,都选择将 Python 作为编程语言,它还被用于编写机器学习应用程序、系统脚本和 Web 应用程序。
大家普遍认为,Python 解释器参考版 CPython 比 C、C++和 Fortran 等低级语言效率低下。CPython 之所以性能糟糕,是因为程序指令没有编译成高效的机器码,而是由解释器处理。虽然使用解释器有些优点,如可移植性以及可省略编译步骤,但在程序和机器之间增加了一个间接层,降低了执行效率。
目录
第 1 章 基准测试与剖析
1.1 设计应用程序
1.2 编写测试和基准测试程序
测量基准测试程序的运行时间
1.3 使用 pytest-benchmark 编写更佳的测试和基准测试程序
1.4 使用 cProfile 找出瓶颈
1.5 使用 line_profiler 逐行进行剖析
1.6 优化代码
1.7 模块 dis
1.8 使用 memory_profiler 剖析内存使用情况
1.9 小结
第 2 章 纯粹的 Python 优化
2.1 有用的算法和数据结构
2.1.1 列表和双端队列
2.1.2 字典
2.1.3 集
2.1.4 堆
2.1.5 字典树
2.2 缓存和 memoization
2.3 推导和生成器
2.4 小结
第 3 章 使用 NumPy 和 Pandas 快速执行数组操作
3.1 NumPy 基础
3.1.1 创建数组
3.1.2 访问数组
3.1.3 广播
3.1.4 数学运算
3.1.5 计算范数
3.2 使用 NumPy 重写粒子模拟器
3.3 使用 numexpr 最大限度地提高性能
3.4 Pandas
3.4.1 Pandas 基础
3.4.2 使用 Pandas 执行数据库式操作
3.5 小结
第 4 章 使用 Cython 获得 C 语言性能
4.1 编译 Cython 扩展
4.2 添加静态类型
4.2.1 变量
4.2.2 函数
4.2.3 类
4.3 共享声明
4.4 使用数组
4.4.1 C 语言数组和指针
4.4.2 NumPy 数组
4.4.3 类型化内存视图
4.5 使用 Cython 编写粒子模拟器
4.6 剖析 Cython 代码
4.7 在 Jupyter 中使用 Cython
4.8 小结
第 5 章 探索编译器
5.1 Numba
5.1.1 Numba 入门
5.1.2 类型特殊化
5.1.3 对象模式和原生模式
5.1.4 Numba 和 NumPy
5.1.5 JIT 类
5.1.6 Numba 的局限性
5.2 PyPy 项目
5.2.1 安装 PyPy
5.2.2 在 PyPy 中运行粒子模拟器
5.3 其他有趣的项目
5.4 小结
第 6 章 实现并发性
6.1 异步编程
6.1.1 等待 I/O
6.1.2 并发
6.1.3 回调函数
6.1.4 future
6.1.5 事件循环
6.2 asyncio 框架
6.2.1 协程
6.2.2 将阻塞代码转换为非阻塞代码
6.3 响应式编程
6.3.1 被观察者
6.3.2 很有用的运算符
6.3.3 hot 被观察者和 cold 被观察者
6.3.4 打造 CPU 监视器
6.4 小结
第 7 章 并行处理
7.1 并行编程简介
图形处理单元
7.2 使用多个进程
7.2.1 Process 和 Pool 类
7.2.2 接口 Executor
7.2.3 使用蒙特卡洛方法计算 pi 的近似值
7.2.4 同步和锁
7.3 使用 OpenMP 编写并行的 Cython 代码
7.4 并行自动化
7.4.1 Theano 初步
7.4.2 Tensorflow
7.4.3 在 GPU 中运行代码
7.5 小结
第 8 章 分布式处理
8.1 分布式计算简介
MapReduce 简介
8.2 Dask
8.2.1 有向无环图
8.2.2 Dask 数组
8.2.3 Dask Bag 和 DataFrame
8.2.4 Dask distributed
8.3 使用 PySpark
8.3.1 搭建 Spark 和 PySpark 环境
8.3.2 Spark 架构
8.3.3 弹性分布式数据集
8.3.4 Spark DataFrame
8.4 使用 mpi4py 执行科学计算
8.5 小结
第 9 章 高性能设计
9.1 选择合适的策略
9.1.1 普通应用程序
9.1.2 数值计算代码
9.1.3 大数据
9.2 组织代码
9.3 隔离、虚拟环境和容器
9.3.1 使用 conda 环境
9.3.2 虚拟化和容器
9.4 持续集成
9.5 小结
连接图灵
看完了
下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/01/I1mviDdIGgf7QaU9.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论