科技
类型
7.0
豆瓣评分
可以朗读
语音朗读
144千字
字数
2016-06-01
发行日期
展开全部
主编推荐语
全面掌握Python代码性能分析和优化方法。
内容简介
对于Python程序员来说,仅仅知道如何写代码是不够的,还要能够充分利用关键代码的处理能力。
本书将讨论如何对Python代码进行性能分析,找出性能瓶颈,并通过不同的性能优化技术消除瓶颈。
本书从基本的概念开始,循序渐进地介绍高级的优化主题。首先介绍了Python的主流性能分析器,以及用于帮助理解性能分析结果的可视化工具。然后介绍了通用的性能优化方法和专门针对Python的性能优化方法,带你浏览该语言的主要结构,让你只需做一点改变,即可迅速改善代码的性能。
如果你是一名Python开发者,想优化Python代码的性能,或是想进一步提升编程能力,那么本书非常适合你阅读。
目录
- 版权信息
- 译者序
- 前言
- 本书内容
- 本书需要的工具
- 目标读者
- 排版约定
- 读者反馈
- 客户支持
- 下载示例代码
- 下载本书的彩色图像
- 勘误
- 侵权行为
- 问题
- 电子书
- 致谢
- 第1章 性能分析基础
- 1.1 什么是性能分析
- 1.1.1 基于事件的性能分析
- 1.1.2 统计式性能分析
- 1.2 性能分析的重要性
- 1.3 性能分析可以分析什么
- 1.3.1 运行时间
- 1.3.2 瓶颈在哪里
- 1.4 内存消耗和内存泄漏
- 1.5 过早优化的风险
- 1.6 运行时间复杂度
- 1.6.1 常数时间——O(1)
- 1.6.2 线性时间——O(n)
- 1.6.3 对数时间——O(logn)
- 1.6.4 线性对数时间——O(n logn)
- 1.6.5 阶乘时间——O(n!)
- 1.6.6 平方时间——O(n2)
- 1.7 性能分析最佳实践
- 1.7.1 建立回归测试套件
- 1.7.2 思考代码结构
- 1.7.3 耐心
- 1.7.4 尽可能多地收集数据
- 1.7.5 数据预处理
- 1.7.6 数据可视化
- 1.8 小结
- 性能分析器
- 2.1 认识新朋友:性能分析器
- 2.2 cProfile
- 2.2.1 工具的局限
- 2.2.2 支持的API
- 2.2.3 Stats类
- 2.2.4 性能分析示例
- 2.3 line_profiler
- 2.3.1 kernprof
- 2.3.2 kernprof注意事项
- 2.3.3 性能分析示例
- 2.4 小结
- 第3章 可视化——利用GUI理解性能分析数据
- 3.1 KCacheGrind/pyprof2calltree
- 3.1.1 安装
- 3.1.2 用法
- 3.1.3 性能分析器示例:TweetStats
- 3.1.4 性能分析器示例:倒排索引
- 3.2 RunSnakeRun
- 3.2.1 安装
- 3.2.2 使用方法
- 3.2.3 性能分析示例:最小公倍数
- 3.2.4 性能分析示例:用倒排索引查询
- 3.3 小结
- 第4章 优化每一个细节
- 4.1 函数返回值缓存和函数查询表
- 4.1.1 用列表或链表做查询表
- 4.1.2 用字典做查询表
- 4.1.3 二分查找
- 4.1.4 查询表使用案例
- 4.2 使用默认参数
- 4.3 列表综合表达式与生成器
- 4.4 ctypes
- 4.4.1 加载自定义ctypes
- 4.4.2 加载一个系统库
- 4.5 字符串连接
- 4.6 其他优化技巧
- 4.7 小结
- 第5章 多线程与多进程
- 5.1 并行与并发
- 5.2 多线程
- 5.3 线程
- 5.3.1 用thread模块创建线程
- 5.3.2 用threading模块创建线程
- 5.4 多进程
- Python多进程
- 5.5 小结
- 第6章 常用的优化方法
- 6.1 PyPy
- 6.1.1 安装PyPy
- 6.1.2 JIT编译器
- 6.1.3 沙盒
- 6.1.4 JIT优化
- 6.1.5 代码示例
- 6.2 Cython
- 6.2.1 安装Cython
- 6.2.2 建立一个Cython模块
- 6.2.3 调用C语言函数
- 6.2.4 定义类型
- 6.2.5 定义函数类型
- 6.2.6 Cython示例
- 6.2.7 定义类型的时机选择
- 6.2.8 限制条件
- 6.3 如何选择正确的工具
- 6.3.1 什么时候用Cython
- 6.3.2 什么时候用PyPy
- 6.4 小结
- 第7章 用Numba、Parakeet和pandas实现极速数据处理
- 7.1 Numba
- 7.1.1 安装
- 7.1.2 使用Numba
- 7.2 pandas工具
- 7.2.1 安装pandas
- 7.2.2 用pandas做数据分析
- 7.3 Parakeet
- 7.3.1 安装Parakeet
- 7.3.2 Parakeet是如何工作的
- 7.4 小结
- 第8章 付诸实践
- 8.1 需要解决的问题
- 8.1.1 从网站上抓取数据
- 8.1.2 数据预处理
- 8.2 编写初始代码
- 8.2.1 分析代码性能
- 8.2.2 数据分析代码的优化
- 8.3 小结
- 看完了
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。