大小: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条评论
最新排行
物理学基础哈里德pdf(原书第6版)175.9M物理学基础哈里德pdf是由哈里德、瑞斯尼克、沃克等人所编写的,机械工业出版社出版,是全世界最经典、最权威、最畅销的物理教学巨著,本教材最大的特点是,以鲜活的例子激发学生的学习兴趣,一步一步地引导学生掌握知识,提高学生应用物理知识的能力。本书总共分为5篇来
查看Ajax原理与系统开发143.95M陈锋敏pdf扫描版Ajax原理与系统开发是一本Web前端Ajax框架原理与系统开发书籍,由陈锋敏编著。本书内容丰富,翔实,以真实的项目开发与实现为主线,对各个设计元素进行了深入的讲解。同时精选多个典型案例,并结合基础知识对系统进行分析、设计与编程实现,可以帮助读者学习并掌
查看android从入门到精通 巅峰卓越 pdf104.92M高清扫描版 本款android从入门到精通是巅峰卓越编著的,是目前最优秀的一款android入门书籍。全书结合实际工作中的范例,逐一讲解Android的各种知识和技术。还以实际开发项目来总结本书所学内容,帮助读者在实战中掌握知识,轻松拥有项目经验。同时在每章首
查看opencv图像处理编程实例29.2M朱伟pdf扫描版opencv图像处理编程实例是一本OpenCV图像处理编程手册,由朱伟等人编著。本书将理论与实际案例相结合,始终秉承“学以致用”的理念,提供多个颇具实用性和前沿性的实例,用详细的代码验证实现,通过大量的例子让读者边学边练,注重给予读者一定的启发和引导。作
查看asp.net从入门到精通第2版153.34Mpdf高清版目前网站开发最流行的就是使用asp.net语言,因为该语言具有方便性、灵活性、性能优,生产效率高、安全性高、完整性强及面向对象等特性,但如何才能学习好asp.net呢?在此小编向广大网友推荐使用asp.net从入门到精通第2版,该书是目前最优秀的学习as
查看人人都是架构师:分布式系统架构落地与瓶颈突破39.95M高翔龙 pdf扫描版人人都是架构师:分布式系统架构落地与瓶颈突破是一本货真价实的互联网场景下大型网站架构演变过程中核心技术难题的解决方案,由高翔龙编著。本书全部来源于作者真实经历的生产案例,大型网站应对高并发、大流量的应急宝典,全书毫无保留地阐述了作者多年在互联网企业的架构
查看javascript编程全解6.67M井上诚一郎pdf扫描版javascript编程全解是一本JavaScript语言的使用指导手册,由日本程序员井上诚一郎、土江拓郎和滨边将太三人共同编著。本书涵盖了JavaScript开发中各个方面的主题,对从客户端及服务端JavaScript等基础内容,到HTML5、Web
查看Apache Tomcat 6高级编程89.97M乔帕pdf扫描版Apache Tomcat 6高级编程是一本Apache Tomcat 6编著书籍,由乔帕(Chopra V.)编著,杨金奎等人翻译。本书重点讲解Tomcat 6的应用知识,介绍了新的架构和性能更改。从基本的Tomcat和Web应用程序配置到用于集群、J
查看HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用22.03Mpdf扫描版HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用是一本html5的学习教材,由资深web专家J.D.Gauchat编著。本书内容丰富翔实,详尽讲解和分析了html5中的所有新特性和核心技术,能够迅速提升html5开发技能提供绝佳指导,全
查看疯狂android讲义第3版233.07Mpdf高清无水印版 如何更好的学习android开发?这里小编为广大网友带来了疯狂android讲义第3版pdf下载,pdf高清无水印版,是目前最好的一本介绍Android应用开发的实用图书,曾获评CSDN年度具有技术影响力十大原创图书,作者李刚。 全书介
查看