大小: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条评论
最新排行
02j331地沟及盖板图集14.99M 02j331地沟及盖板图集是中国建筑标准设计研究所出版的一本国家建筑标准设计图集,主要介绍了砖地沟、素混凝土地沟、钢筋混凝土地沟构造做法,混凝土盖板及钢盖板构造详图等,可以适用于工业与民用建筑室内及工业厂区与民用建筑小区内部的室外地沟盖板。需要注意
查看新课标小学语文四库全书86.06Mv2021官方版 新课标小学语文四库全书是由中国大百科全书专门针对小学生所打造的一款古典文学学习文档,内容涉及范围非常广阔,不仅收录了各种小学语文相关的知识,资料,学习课文,阅读材料等,还涵盖了经、史、子、集四部分,里面的知识均取自人教版课本及资料,让孩子可以更加作
查看oracle性能诊断艺术35.65Mpdf扫描版 oracle性能诊断艺术是一本Oracle数据库优化的里程碑式著作,由瑞士资深数据库专家Christian Antognini编著。书中的最佳实践和诸多建议全部来源于作者在实战一线的丰富积累,不仅简单实用,而且发人深省,堪称一座“宝库”,适合各层次
查看android安全技术揭秘与防范41.3M周圣韬pdf扫描版 android安全技术揭秘与防范是一本Android系统安全的核心技术书籍,由Android系统安全专家周圣韬编著。本书由浅入深,全面分析了Android 中5个层级的不同攻击与防御方式,全面涵盖了Android系统安全的核心技术:Root安全、键
查看docker容器与容器云(第2版)46.43Mpdf扫描版docker容器与容器云(第2版)是一本Docker教科书,由浙江大学软件工程实验室编著。全书结构清晰,由浅入深,深入讲解了docker技术的各种知识、系统,架构和原理,并且还拥有样例,对于了解容器云有很不错的指导作用,在kubernetes方便也有不错
查看android游戏开发实践指南136.89Mpdf高清扫描版 android游戏开发实践指南是一本经典的安卓游戏开发指南书籍,由美国资深工程师Rick Rogers编著。本书理论知识系统而全面,讲解了Android游戏开发的方方面面;实战性强,以各种经典游戏案例为导向,全面展示了Android游戏开发的流程、
查看python基础教程第2版中文高清pdf版29.63M本次分享的是python基础教程第2版中文高清pdf版,由于是PDF格式,因此用户需要安装PDF阅读器才能正常阅读,好了让我们回到正题。这是一本包括Python程序最基本的设计操作教程,介绍了Python的基础知识和基础概念,包括了列表、元组、字符串、字
查看构建oracle高可用环境58.61M陈吉平pdf扫描版 构建oracle高可用环境是一本介绍管理OracLe高可用数据库的经验之书,由陈吉平著作,电子工业出版社出版。全书内容横跨主机、存储、数据库三大领域,全面介绍oracle及周边环境的高可用性,所有的内容都包括了作者多年来Oracle高可用数据库的经
查看仙剑奇侠传6操作指南pdf18.39M 仙剑奇侠传6位于“大宇资讯旗下软星科技有限公司”制作的最新一款单机角色扮演游戏,在2015年7月8日正式发布,相信不少游戏玩家都纷纷加入到游戏当中,而今日小编为游戏玩家带来的是仙剑奇侠传6操作指南pdf,在该说明书中包含了各种游戏介绍和操作指南,适
查看java ee 7权威指南 卷2(原书第5版)55.08M埃里克·珍兆科pdf扫描版 java ee 7权威指南 卷2(原书第5版)是一本java EE权威开发指南,由美国程序员埃里克·珍兆科、里卡多·塞维拉 - 纳瓦罗、伊恩·埃文斯、金姆·哈泽和威廉·马基特五人共同编著。本书是一个面向任务的实用指南,通过一系列实用示例介绍如何开发
查看ArcCatalog使用手册13.05Mpdf完整版ArcCatalog是ArcGIS Desktop中最常用的应用程序之一,它是地理数据的资源管理器,用户通过ArcCatalog来组织、管理和创建GIS数据。特点就是采用了标准关系数据库技术,来表现地理信息的数据模型,利用标准的数据库管理系统来存储和管理
查看Visual Basic范例开发大全216.31MPDF中文版Visual Basic范例开发大全是一款pdf中文版的高清电子书籍,全书485个典型实例,分为4个篇章,17个章节,每个实例都配多媒体教学视频讲解,全面解析visual basic程序开发的核心技术与应用。另外软件包中附带了pdf阅读器,方便读者即下即
查看ipad2使用说明书17.7Mpdf中文版ipad2使用说明书是一本全中文版的pdf电子书教程,旨在帮助用户快速从新手过渡到高手,玩转ipad2。教程详细讲述了ipad2使用技巧和基本操作,详细介绍了iPad 2的虚拟键盘的使用,包括文字输入、切换键盘布局、使用快捷键等。它还会介绍iPad 2支
查看