展开全部

主编推荐语

全面掌握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月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。