大小: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条评论
最新排行
XML揭秘入门应用精通64.96Mpdf扫描版 XML揭秘入门应用精通是一本由入门xml到高深的教学图书,由在Web技术领域中名声显赫的Michael Morrison编写,国人陆新年翻译,清华大学出版社出版。全书全面介绍了XML的相关技术,并对XML深层次的技术给出宝贵而实用的建议。主要内容包
查看苏菲的世界pdf扫描版1.36M官方版 苏菲的世界是由挪威作家乔斯坦·贾德创作的一本关于西方哲学史的长篇小说,该书以小说的形式,通过一名哲学导师向一个叫苏菲的女孩传授哲学知识的经过,揭示了西方哲学史发展的历程。并将前苏格拉底时代到萨特,以及亚里士多德、笛卡儿、黑格尔等人的思想都通过作者生
查看响应式Web图形设计pdf99.8M 随着智能手机和平板电脑等移动设备的普及,网页既可以横向,也可以纵向显示,设计不再以桌面浏览器窗口的宽度为标准,如何才能更好的设计Web界面呢?小编这里推荐大家阅读响应式Web图形设计,这是一本HTML5&CSS3基础知识+现代设计精髓理念的图书,由
查看ASP.NET3.5揭秘(卷1)74.44MASP.NET3.5揭秘(卷1)是一本ASP.NET3.5框架揭秘书籍,由美国程序员沃尔瑟Stephen Walther编著。本书是享有盛誉的ASP.NET经典名著,涵盖了ASP.NET 3.5的方方面面,包括了所有最新的特性,书中详细介绍了微软LINQ
查看android 6开发秘籍(第5版)73.87M郭华丰 pdf扫描版 android 6开发秘籍(第5版)是一本基于Android Studio的Android开发入门精品指南,由[美]Joseph Annuzzi.Jr.,Lauren Darcey等编著,郭华丰、刘杰、周云龙共同翻译。本书的侧重点在于Android
查看铅笔素描从入门到精通pdf28.85M飞乐鸟著铅笔素描从入门到精通是一本关于如何学习铅笔素描的图书,作者飞乐鸟,由水利水电出版社出版。全书详细介绍了铅笔素描的线条入门练习、掌握基本的素描技法、进行简单的基础练习、描绘日常生活的进阶练习等内容,可以带领绘画基础者轻松变成素描达人,适用于想学习素描的朋友
查看SEO实战指导:知识策略案例(第2版)42.6M扫描版SEO实战指导:知识策略案例(第2版)是一本搜索引擎优化学习教材,由藏锋者和郝永清两人共同编著。全书脉络简单,化繁为简,将纷繁复杂的搜索引擎优化技术(seo)进行提炼和梳理,从理论技术介绍到实际案例操作,进行细致详尽的讲解和分析,让读者很快就可以了解并掌
查看HP WEB JetAdmin 10.2参考手册7.39Mpdf版HP WEB JetAdmin 10.2参考手册pdf版电子书,它提供简单而详尽的方式,主动地管理网络周边设备,并为打印效率做最佳化。你可以将周边装置设定群组,甚至可以加上地图,让人了解每台机器的位置。如果您还不了解HP WEB JetAdmin或在使用
查看