大小:5.39M
更新时间:23-08-13
系统:Pc
版本:v
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条评论
最新排行
voa常速英语电脑版30.96Mv2.4 voa常速英语电脑版是真正实用的一款英语学习软件,该软件精心收录了海量的美国口语、美国时事新闻等资讯,并且经过精心翻译编排总结,能够为用户提供屏幕取词、云生词本等功能,让用户更系统的学习美国英语。 爱语吧voa常速英语的
查看
shell脚本学习指南pdf版26.88M shell脚本学习指南,英文名称classic shell scripting,是一本关习如何学习和掌握shell脚本的图书,由(美)罗宾(Robbins.A.)、(美)比博(Beebe,N.H.F.)编著,O'Reilly Taiwan公司编译,
查看
mysql入门很简单169.11M mysql入门很简单是一本MySql数据库的入门书籍,获得大量好评,5次印刷,畅销15000册,由黄缙华编著。本书以初学者的角度出发,由浅入深,循序渐进地介绍了mysql数据库应用与开发的相关知识,包括MySQL数据库基础,Windows平台下安装
查看
三级网络技术无纸化考试模拟软件43.29Mv2018.3.001官方版 三级网络技术无纸化考试模拟软件是由未来教育出品的一款独立运行,功能强大的计算机三级网络技术考试模拟软件。该软件完全按照《全国计算机等级考试最新考试大纲》研制而成,提供考试题库、错题重做、模拟考场等功能,界面全真模拟,自动评分、详尽解析,考试环境与真
查看
APP蓝图:Axure RP7.0移动互联网产品原型设计40.95M吕皓月pdf扫描版 建模又常被称为画线框图、mockup、原型图、demo,其主要用途是在正式进行设计和开发之前,通过一个逼真的效果图来模拟最终的视觉效果和交互效果。但如何才能更好的学习呢?小编这里为广大网友带来了APP蓝图:Axure RP7.0移动互联网产品原型设
查看
visual c#从入门到精通第8版88.64Mpdf扫描版 visual c#从入门到精通第8版是一本C#语言的入门指导书,由英国资深技术作家JohnSharp编著。全书承袭Step-by-Step风格,完美演绎Visual C#精髓,主要讲解了新版本VisualStudio2015与VisualC#的基础
查看
python学习手册第4版pdf版92.37M中文高清版 python是一种非常流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本,它不仅具备免费、可移植的特色,还拥有了极其强大的功能,使用起来也相当的方便。相信来自各个角落的程序猿已经发现,Python对于开发者效率和软件质量的关注,这无论在大
查看
C#程序设计及应用教程(第2版)28.33M马骏pdf扫描版 C#程序设计及应用教程(第2版)是一本C#语言程序设计和应用开发教程,由马骏编著。本书内容丰富简洁、对一些初学者比较难以理解的知识点,尽量用简洁、形象而又浅显易懂的语言来表达。比如泛型、接口、组件、特性、纹理、图形图像用法等。但书中的某些重点章节则
查看