大小: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条评论
最新排行
05s502室外给水管道附属构筑物图集6.19M 05s502图集全称为05s502室外给水管道附属构筑物图集,是由中国建筑标准设计研究院组织编写的一款国标排水图集文档,详细的描画排水系统的标准和相关设计内容,其中包括砖砌圆形立式闸阀井、砖砌水表井、钢筋混凝土矩形水表井等,主要适用于城镇、小区及工
查看
c# winform实践开发教程42.53M钱哨高清扫描版c# winform实践开发教程是一本基于.NET FrameWork2.0平台进行的C# Windows程序设计开发教材,由钱哨,李挥剑,李继哲 三人共同编著。全书内容衔接合理,采用了项目驱动方式,且完全按项目运作所需的知识体系设置结构来编写。以实际工
查看
Ajax原理与系统开发143.95M陈锋敏pdf扫描版Ajax原理与系统开发是一本Web前端Ajax框架原理与系统开发书籍,由陈锋敏编著。本书内容丰富,翔实,以真实的项目开发与实现为主线,对各个设计元素进行了深入的讲解。同时精选多个典型案例,并结合基础知识对系统进行分析、设计与编程实现,可以帮助读者学习并掌
查看
ASP.NET MVC2开发实战28.67M黄保翕pdf扫描版 ASP.NET MVC2开发实战是一本ASP.NET MVC2技术的开发设计指导书籍,由黄保翕编著。全书将内容分为基础观念篇、技术讲解篇和开发实战篇,其中基础观念篇主要介绍了MVC架构的基础知识;技术讲解篇对ASP.NET MVC 2的各项开发技术
查看
android驱动开发与移植实战详解5.14Mpdf高清版android驱动开发与移植实战详解是一本pdf高清版的电子图书,已经附带了pdf福昕阅读器在软件包中,用户可以即下即看。android安卓系统是谷歌公司推出的一款手机系统,是基于linux内核开发的,能够迅速建立手机软件的解决方案。该系统采用了webk
查看
游戏编程权威指南第4版pdf98.95M 游戏编程权威指南 第4版是一本经典的游戏编程入门读物,由美国程序员麦克沙福瑞和格雷海姆两人共同编著。本书探讨了整个游戏开发过程和与创建游戏相关的挑战。在对游戏框架的介绍中,作者探讨了现代游戏引擎的主要子系统以及可用于实际游戏中的专业技术。全书内容包
查看
AJAX安全技术下载pdf高清版44.17Mpdf高清版 AJAX安全技术是一款pdf高清版的电子图书,本书对AJAX安全开发领域进行了严谨、彻底的探讨,系统地分析了当今最危险的AJAX漏洞,用现实中的代码阐述了大量关键性的安全理念,并对实际中的案例,例如MySpace的Samy蠕虫病毒,进行了详尽分析。
查看
恶意软件分析诀窍与工具箱146.85Mpdf扫描版恶意软件分析诀窍与工具箱是一本恶意软件分析及防御指导学习书籍,由世界排名第10的黑客Kevin D.Mitnick和恶意代码分析专家Michael Hale Ligh共同编著,本书是两人一生积累的丰富技能和经验汇集成的一本书,通过入侵案例和对策的形式,对
查看
欧姆龙plc编程手册7.59M 欧姆龙plc编程软件绝对是目前工作中最优秀的可编程序控制器软件,但软件如何才能更好的掌握好呢?本站这里提供的欧姆龙plc编程手册可以帮到您,该手册为pdf中文版,它提供了对CPM1,CPM1A,CPM2A,CPM2AH,CPM2C(包括CPM2C-
查看
汇编语言的编程艺术第2版pdf187.05M高清电子书汇编语言的编程艺术第2版是目前讲解汇编语言最经典的图书,作者海德(Randall Hyde),马跃,包战翻译,它详细的介绍了编辑、编译和运行HLA程序,声明和使用常量、标量变量、指针、数组、结构、联合和命名空间,转换算术表达式,转换高级控制结构等内容。同
查看
SQL Server 2008高级程序设计99.46MPDF中文版SQL Server 2008高级程序设计是一本pdf中文版的高清电子书,全书首先介绍了sql2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询,构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据
查看