科技
类型
可以朗读
语音朗读
177千字
字数
2018-08-01
发行日期
展开全部
主编推荐语
本书是一本Python性能提升指南,展示了如何利用Python的原生库以及丰富的第三方库来构建健壮的应用程序。
内容简介
本书主要介绍如何让Python程序发挥强大性能,内容涵盖针对数值计算和科学代码的优化,以及用于提高Web服务和应用响应速度的策略。具体内容有:基准测试与剖析、纯粹的Python优化、基于NumPy和Pandas的快速数组操作、使用Cython获得C语言性能、编译器探索、实现并发性、并行处理、分布式处理、高性能设计等。
目录
- 版权信息
- 前言
- 致谢
- 第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 分布式计算简介
- 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 小结
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。