Python性能分析与优化

Python性能分析与优化

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全面掌握Python代码性能分析和优化方法。

内容简介

对于Python程序员来说,仅仅知道如何写代码是不够的,还要能够充分利用关键代码的处理能力。

本书将讨论如何对Python代码进行性能分析,找出性能瓶颈,并通过不同的性能优化技术消除瓶颈。

本书从基本的概念开始,循序渐进地介绍高级的优化主题。首先介绍了Python的主流性能分析器,以及用于帮助理解性能分析结果的可视化工具。然后介绍了通用的性能优化方法和专门针对Python的性能优化方法,带你浏览该语言的主要结构,让你只需做一点改变,即可迅速改善代码的性能。

如果你是一名Python开发者,想优化Python代码的性能,或是想进一步提升编程能力,那么本书非常适合你阅读。

作者简介

作者费尔南多·多格里奥,公司软件架构师。过去十年一直从事Web发工作,期间使用了大多数最前沿的技术,如PHP、Ruby on Rails、MySQL、Python、Node.js、AngularJS、REST API等。Fernando喜欢钻研新事物,他的GitHub账户每个月也会因此获得回。他还是源拥护者,并通过网站lookingforpullrequests.com来获得人们的支持。Fernando另著有Pro REST API Development with Node.js。

章节目录

版权信息

译者序

前言

本书内容

本书需要的工具

目标读者

排版约定

读者反馈

客户支持

下载示例代码

下载本书的彩色图像

勘误

侵权行为

问题

电子书

致谢

第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 小结

看完了

Python性能分析与优化是2016年由人民邮电出版社·图灵出品出版,作者[乌拉圭]费尔南多·多格里奥。

得书感谢您对《Python性能分析与优化》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
超分辨测向理论及其性能优化技术 电子书
本书系统地论述了超分辨测向的理论、算法以及一些提高测向精度和测向速度的技术,总结了作者从博士阶段开始至今的研究成果以及国际上这一领域的研究进展。全书共由10章组成,主要内容有:空间谱估计的研究进展、典型的阵列信号模型、信号个数估计算法、常规的超分辨测向算法、虚拟阵列测向算法、极化敏感阵列下的循环平稳信号测向算法、宽带聚焦类测向算法、阵列误差校正算法、远近场混合信号超分辨测向算法以及超分辨测向的快速
复杂网络传输容量分析与优化 电子书
自从小世界与无标度网络模型问世以来,复杂网络研究进入了快速发展的阶段,研究成果不断涌现。复杂网络研究存在于许多学科当中,数学、生物学、工程与科学技术基础等诸多学科领域内的研究者们已经对复杂网络展开了一系列的研究,计算机科学技术学科也不例外。该学科领域内的研究者们主要针对计算机复杂网络中存在的问题,比如复杂网络拥塞展开了研究。本书重点剖析了优化网络传输容量的瓶颈,从复杂网络角度定义了网络传输容量,重
Python商务数据分析与实战 电子书
|a本书以Python数据分析常用技术与真实案例相结合的方式,介绍Python商务数据分析应用的重要内容。全书共10章,内容包括:商务数据分析概述、Python数据分析简介、数据获取、探索性分析、数据预处理等。
Python数据分析与挖掘实战 电子书
本书共11章,分为基础篇(第1-5章)和实战篇(第6-11章),基础篇包括数据挖掘基础、Python数据挖掘编程基础、数据探索、数据预处理、数据挖掘算法基础等基础知识:实战篇包括6个案例,分别为信用卡高风险客户识别、餐饮企业菜品关联分析、金融服务机构资金流量预测、O2O优惠券使用预测、电视产品个性化推荐,以及基于TipDM大数据挖掘建模平台实现金融服务机构资金流量预测。本书大部分章节包含实训和课后
Python大数据处理与分析 电子书
本书介绍利用Python进行大数据处理与分析的详细方法和步骤。全书共9章,主要内容包括搭建开发环境、Numpy库、Pandas库、Matplotlib库、数据预处理以及多个案例分析。