大小:5.39M
更新时间:23-08-13
系统:Pc
Python性能分析与优化是一本Python代码分析与优化指导书籍,由web程序员多格里奥编著。本书首先介绍了什么是性能分析,性能分析如何在项目开发周期中发挥作用,以及通过在项目中进行性能分析实践能够取得的效果。紧接着开始介绍分析性能所需的核心工具(性能分析器和可视化性能分析器)。然后再介绍一系列的性能优化技术,最后在配有一个具有实际意义的优化案例,可以让读者很轻松的了解并掌握书中的知识点和诀窍。

Python性能分析与优化从基本的概念开始讲解,循序渐进地介绍高级的优化主题。首先介绍了Python的主流性能分析器,以及用于帮助理解性能分析结果的可视化工具。然后介绍了通用的性能优化方法和专门针对Python的性能优化方法,带你浏览该语言的主要结构,让你只需做一点改变,即可迅速改善代码的性能。最后还介绍了一些专门用于数据处理的程序库,教你如何正确地使用如何它们来完成更好的操作。

第1 章 性能分析基础 1 1.1 什么是性能分析 1 1.1.1 基于事件的性能分析 2 1.1.2 统计式性能分析 4 1.2 性能分析的重要性 5 1.3 性能分析可以分析什么 6 1.3.1 运行时间 6 1.3.2 瓶颈在哪里 8 1.4 内存消耗和内存泄漏 8 1.5 过早优化的风险 11 1.6 运行时间复杂度 12 1.6.1 常数时间——O(1) 12 1.6.2 线性时间——O(n) 12 1.6.3 对数时间——O(logn) 13 1.6.4 线性对数时间——O(nlogn) 14 1.6.5 阶乘时间——O(n!) 15 1.6.6 平方时间——O(n2) 16 1.7 性能分析最佳实践 18 1.7.1 建立回归测试套件 18 1.7.2 思考代码结构 18 1.7.3 耐心 18 1.7.4 尽可能多地收集数据 19 1.7.5 数据预处理 19 1.7.6 数据可视化 19 1.8 小结 21 第2 章 性能分析器 22 2.1 认识新朋友:性能分析器 22 2.2 cProfile 23 2.2.1 工具的局限 24 2.2.2 支持的API 24 2.2.3 Stats 类 27 2.2.4 性能分析示例 30 2.3 line_profiler 41 2.3.1 kernprof 43 2.3.2 kernprof 注意事项 43 2.3.3 性能分析示例 45 2.4 小结 53 第3 章 可视化——利用GUI 理解性能分析数据 54 3.1 KCacheGrind/pyprof2calltree 54 3.1.1 安装 55 3.1.2 用法 55 3.1.3 性能分析器示例:TweetStats 57 3.1.4 性能分析器示例:倒排索引 60 3.2 RunSnakeRun 64 3.2.1 安装 65 3.2.2 使用方法 65 3.2.3 性能分析示例:最小公倍数 66 3.2.4 性能分析示例:用倒排索引查询 68 3.3 小结 75 第4 章 优化每一个细节 76 4.1 函数返回值缓存和函数查询表 76 4.1.1 用列表或链表做查询表 79 4.1.2 用字典做查询表 80 4.1.3 二分查找 80 4.1.4 查询表使用案例 80 4.2 使用默认参数 84 4.3 列表综合表达式与生成器 85 4.4 ctypes 90 4.4.1 加载自定义ctypes 90 4.4.2 加载一个系统库 92 4.5 字符串连接 92 4.6 其他优化技巧 96 4.7 小结 98 第5 章 多线程与多进程 99 5.1 并行与并发 99 5.2 多线程 100 5.3 线程 101 5.3.1 用thread 模块创建线程 102 5.3.2 用threading 模块创建线程 106 5.4 多进程 112 5.5 小结 117 第6 章 常用的优化方法 118 6.1 PyPy 118 6.1.1 安装PyPy 119 6.1.2 JIT 编译器 120 6.1.3 沙盒 121 6.1.4 JIT 优化 122 6.1.5 代码示例 124 6.2 Cython 126 6.2.1 安装Cython 127 6.2.2 建立一个Cython 模块 127 6.2.3 调用C 语言函数 129 6.2.4 定义类型 130 6.2.5 定义函数类型 131 6.2.6 Cython 示例 133 6.2.7 定义类型的时机选择 134 6.2.8 限制条件 138 6.3 如何选择正确的工具 139 6.3.1 什么时候用Cython 139 6.3.2 什么时候用PyPy 139 6.4 小结 140 第7 章 用Numba、Parakeet 和pandas实现极速数据处理 141 7.1 Numba 141 7.1.1 安装 142 7.1.2 使用Numba 144 7.2 pandas 工具 151 7.2.1 安装pandas 151 7.2.2 用pandas 做数据分析 152 7.3 Parakeet 155 7.3.1 安装Parakeet 156 7.3.2 Parakeet 是如何工作的 156 7.4 小结 158 第8 章 付诸实践 159 8.1 需要解决的问题 159 8.1.1 从网站上抓取数据 159 8.1.2 数据预处理 162 8.2 编写初始代码 162 8.2.1 分析代码性能 168 8.2.2 数据分析代码的优化 172 8.3 小结 178
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
热门标签
网友评论0人参与,0条评论
最新排行
14j936变形缝建筑构造16.26Mpdf高清电子版 14j936变形缝建筑构造,又被用户俗称为14j936变形缝图集,是中国建筑标准设计研究院发布的一款实用图集,批准文号:建质函2014210号,统一编号GJBT-1285,实行日期2014年9月1日,适用于新建、改建、扩建的民用与工业建筑工程露明部
查看
精通Oracle核心技术与项目实战4.96M刘丽霞pdf扫描版 精通Oracle核心技术与项目实战是一本Oracle数据库开发书籍,由刘丽霞编著。本书结合大量实例,对Oracle知识点相关的原理进行了详细讲解。具体内容包括Oracle 11g的体系结构,数据库管理和配置,数据库安全,数据库日常维护,pl/sql
查看
apache spark 源码剖析30.99M许鹏pdf扫描版 apache spark 源码剖析是一本Spark代码源码学习书籍,由许鹏编著,本书全面、系统地介绍了Spark源码,深入浅出,细致入微。先提供给读者一系列分析源码的实用技巧,并给出一个合理的阅读顺序,并且始终抓住资源分配、消息传递、容错处理等基本
查看
ansible自动化运维技术与最佳实践28.97M陈金窗pdf扫描版 ansible自动化运维技术与最佳实践由一线运维人员陈金窗,沈灿和刘政委三人联手打造。本书通过大量实例,详细讲解Ansible自动化运维方式与技巧。从基础的架构解析、安装配置,到典型应用场景与案例分析,作者分享了自己在工作中的实战经验,是掌握大规模
查看
c++反汇编与逆向分析技术揭秘56.61M钱林松pdf扫描版c++反汇编与逆向分析技术揭秘是一本C++反汇编与逆向分析技术学习书籍,由钱林松和赵海旭两人共同编著。本书是一本能为程序员(尤其是C++程序员)打牢基础的专业书籍,它将引导你一步一步去深入探究和分析程序的本质,从而逐渐让你在专业上感到踏实和自信,并在这个
查看
actionscript大型网页游戏开发23.91Mactionscript大型网页游戏开发是一本pdf高清扫描版的电子图书,作者:jobe makar,李鑫、马舜翻译。全书阐述了多人网页游戏的许多基本概念,以及如何使用actionscript将其实施到项目中,读完本书,读者将掌握:如何连接用户来实现实时
查看
windows内核安全与驱动开发203.53M谭文 陈铭霖pdf扫描版windows内核安全与驱动开发是一本Windows客户端安全软件开发指导书籍,由谭文,陈铭霖编著,全书主要讲解的是Windows客户端安全软件开发相关的驱动程序开发,书中的程序使用环境从32位到64位,从Windows XP到Windows 8都有涉及
查看
飞天开放平台编程指南阿里云计算的实践59.63M周憬宇 pdf扫描版 飞天开放平台编程指南:阿里云计算的实践是一本云计算应用接地气作品,由周憬宇、李武军和过敏意三人共同编著。本书是阿里云计算官方作品,不但由浅入深地阐述了云计算的相关原理,而且用很多实例详细讲解了怎样利用飞天平台的编程接口来开发各种互联网应用和服务,让
查看
Dreamweaver博客网站设计实录51.84M扫描版 Dreamweaver博客网站设计实录是一本博客网站搭建设计实战记录书籍,由知新文化编著。本书内容丰富翔实,主要讲解了博客申请使用说明、博客美化以及图像处理软件(Photoshop & Fireworks)、网页排版软件(Dreamweav
查看
大数据时代生活工作与思维的大变革12.82Mpdf扫描版 大数据时代生活工作与思维的大变革是由“大数据商业应用第一人”的维克托·迈尔·舍恩伯格先生编著,《科学》《自然》等著名学术期刊最推崇的互联网研究者之一,拥有在哈佛大学、牛津大学、耶鲁大学和新加坡国立大学等多个互联网研究重镇任教的经历。 《
查看