大小: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条评论
最新排行
txt小说阅读器(TxtReader)7.37Mv7.32 现在越来越多的用户都喜欢去下载txt文档小说到电脑中观看,相比PDF文件的话,还是txt比较方便一点!txtreader阅读器则是一款非常给力的txt小说阅读器,它拥有超给力的语音功能,能够将小说的文字通过语音朗读出来,从而实现了听小说的极致快感!
查看
oracle weblogic server开发权威指南92.55M帕特里克 高清扫描版 oracle weblogic server开发权威指南是一本Oracle WebLogic Server开发者权威指导手册,由美国高级开发工程师帕特里克、布雷格曼和多恩编著。本书介绍了选择Java EEI应用程序体系结构的技巧全面讲解了多种设计方
查看
android游戏开发实践指南136.89Mpdf高清扫描版 android游戏开发实践指南是一本经典的安卓游戏开发指南书籍,由美国资深工程师Rick Rogers编著。本书理论知识系统而全面,讲解了Android游戏开发的方方面面;实战性强,以各种经典游戏案例为导向,全面展示了Android游戏开发的流程、
查看
unity 3d游戏开发27.1M宣雨松pdf扫描版 unity 3d游戏开发是一本Unity 3D游戏开发入门书籍,由宣雨松编著。本书从初学者入门角度讲解了Unity游戏开发,让读者快速学会了如何使用Unity制作3D游戏,如何以两种语言去讲解游戏脚本的编写,在入门阶段我们使用JavaScript语
查看
硬件架构的艺术数字电路的设计方法与技术37.73Mpdf扫描版 硬件架构的艺术数字电路的设计方法与技术是由印度半导体公司高级系统工程师Mohit Arora编著的一本硬件架构设计图书,简称为硬件架构的艺术,是李海东,来萍,师谦等翻译,机械工业出版社出版。全书主要内容涉及时钟和复位,多时钟域设计,时钟分频器,低功
查看
联想lj2200使用说明书3.22M 在第一次安装和使用该产品之前,简单阅读联想lj2200说明书绝对会给您在操作方面带来一些帮助,如果购买打印机时没有赠送说明书,那么请直接下载本站提供的说明书,里面从打印机的安装到打印功能的使用都有详细介绍,还不会使用打印机的朋友可以好好学习下啦,尤
查看
大规模web服务开发技术pdf版132.09M伊藤直也 田中慎司pdf高清完整版大规模web服务开发技术是一款介绍web服务开发的教材,由伊藤直也,田中慎司[日本]编著,李剑译,电子工业出版社出版。全书内容从操作系统和计算机的原理开始,详细介绍了数据库的分布式方法、实用算法在系统中的应用、能支撑海量数据的搜索引擎的原理,以及统观系统
查看
神一样的产品经理pdf167.42M扫描版 神一样的产品经理:基于移动与互联网产品实践是一本移动产品经理用书,由闫荣编著。作者以《引爆产品流行的7大原则》为主题为大家带来了一场理论和实践相互碰撞的分享和交流,以超出预期、人性设计和情感共鸣三方面入手,通过实际案例的讲解,帮助学员共同打造产品气
查看
交互设计沉思录(原书第2版)54.38Mpdf高清扫描版交互设计沉思录pdf顶尖设计专家Jon Kolko的经验与心得(原书第2版)是一本交互设计领域的扛鼎之作,由交互设计领域的思想领袖JonKolko所著,完美地将当代设计理论和研究成果融入交互设计实践中,将对交互设计的阐述和分析推向了新的高度,为整个领域带
查看
Dreamweaver博客网站设计实录51.84M扫描版 Dreamweaver博客网站设计实录是一本博客网站搭建设计实战记录书籍,由知新文化编著。本书内容丰富翔实,主要讲解了博客申请使用说明、博客美化以及图像处理软件(Photoshop & Fireworks)、网页排版软件(Dreamweav
查看