《Python高性能编程》配套资源

《Python高性能编程》配套资源

  • 大小:17.17 MB
  • 类型:Python编程
  • 格式:PDF
  • 热度:868
  • 作者:[美]、Micha、Gorelick、戈
  • 更新:2022-03-25 14:18:07
vip 立即下载( 17.17 MB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 史飞翼 投稿)

为找资料的网友们整理了Python编程类书籍配套资源,介绍了关于Python、高性能编程、配套资源、Python编程方面的内容,本书是由人民邮电出版社出版,已被831人关注,由须昕昕测试纠错,目前本书在Python编程类综合评分为:8.7分。

Python编程资源推荐

资源介绍

编辑推荐

Python代码仅仅能够正确运行还不够,你需要让它运行得更快。通过探索设计决策背后的基础理论,本书帮助你更加深刻地理解Python的实现。你将学习如何找到性能瓶颈,以及如何在大数据量的程序中显著加快代码。 如何利用多核架构或集群的优点?如何构建一个在不损失可靠性的情况下具备可伸缩性的系统?有经验的Python程序员将学到针对这些问题或者其他问题的具体解决方案,以及来自那些在社交媒体分析、产品化机器学习和其他场景下使用高性能Python编程的公司的成功案例。 通过阅读本书,你将能够: ■ 更好地掌握numpy、Cython和剖析器; ■ 了解Python如何抽象化底层的计算机架构; ■ 使用剖析手段来寻找CPU时间和内存使用的瓶颈; ■ 通过选择合适的数据结构来编写高效的程序 ■ 加速矩阵和矢量计算; ■ 使用工具把Python编译成机器代码; ■ 管理并发的多I O和计算操作; ■ 把多进程代码转换到在本地或者远程集群上运行; ■ 用更少的内存解决大型问题。 “ 尽管P y thon在学术和工业领域很流行, 但人们也经常由于Python程序运行太慢而放弃它。本书通过全面介绍改善优化Python计算速度和可扩展性的策略,从而消除人们的这种误 解。”——Jake VanderPlas 华盛顿大学

内容简介

Python语言是一种脚本语言,其应用领域非常广泛,包括数据分析、自然语言处理、机器学习、科学计算、推荐系统构建等。 本书共有12章,围绕如何进行代码优化和加快实际应用的运行速度进行详细讲解。本书主要包含以下主题:计算机内部结构的背景知识、列表和元组、字典和集合、迭代器和生成器、矩阵和矢量计算、并发、集群和工作队列等。*后,通过一系列真实案例展现了在应用场景中需要注意的问题。 本书适合初级和中级Python程序员、有一定Python语言基础想要得到进阶和提高的读者阅读。

作者简介

Micha Gorelick在bitly公司从事与数据打交道的工作,并负责建立了快速前进实验室(Fast Forward Labs),研究从机器学习到高性能流算法领域的问题。 Ian Ozsvald是ModelInsight.io的数据科学家和教师,有着超过十年的Python经验。他在yCon和PyData会议上教授Python编程,这几年一直在英国从事关于数据科学和高性能计算方面的咨询工作。

目录

  • 第1章 理解高性能Python 1
  • 1.1 基本的计算机系统 1
  • 1.1.1 计算单元 2
  • 1.1.2 存储单元 5
  • 1.1.3 通信层 6
  • 1.2 将基本的元素组装到一起 8
  • 1.3 为什么使用Python 12
  • 第2章 通过性能分析找到瓶颈 15
  • 2.1 高效地分析性能 16
  • 2.2 Julia集合的介绍 17
  • 2.3 计算完整的Julia集合 20
  • 2.4 计时的简单方法——打印和修饰 24
  • 2.5 用UNIX的time命令进行简单的计时 27
  • 2.6 使用cProfile模块 28
  • 2.7 用runsnakerun对cProfile的输出进行可视化 33
  • 2.8 用line_profiler进行逐行分析 34
  • 2.9 用memory_profiler诊断内存的用量 39
  • 2.10 用heapy调查堆上的对象 45
  • 2.11 用dowser实时画出变量的实例 47
  • 2.12 用dis模块检查CPython字节码 49
  • 2.13 在优化期间进行单元测试保持代码的正确性 53
  • 2.14 确保性能分析成功的策略 56
  • 2.15 小结 57
  • 第3章 列表和元组 58
  • 3.1 一个更有效的搜索 61
  • 3.2 列表和元组 63
  • 3.2.1 动态数组:列表 64
  • 3.2.2 静态数组:元组 67
  • 3.3 小结 68
  • 第4章 字典和集合 69
  • 4.1 字典和集合如何工作 72
  • 4.1.1 插入和获取 73
  • 4.1.2 删除 76
  • 4.1.3 改变大小 76
  • 4.1.4 散列函数和熵 76
  • 4.2 字典和命名空间 80
  • 4.3 小结 83
  • 第5章 迭代器和生成器 84
  • 5.1 无穷数列的迭代器 87
  • 5.2 生成器的延迟估值 89
  • 5.3 小结 93
  • 第6章 矩阵和矢量计算 94
  • 6.1 问题介绍 95
  • 6.2 Python列表还不够吗 99
  • 6.3 内存碎片 103
  • 6.3.1 理解perf 105
  • 6.3.2 根据perf输出做出抉择 106
  • 6.3.3 使用numpy 107
  • 6.4 用numpy解决扩散问题 110
  • 6.4.1 内存分配和就地操作 113
  • 6.4.2 选择优化点:找到需要被修正的地方 116
  • 6.5 numexpr:让就地操作更快更简单 120
  • 6.6 告诫故事:验证你的“优化”(scipy) 121
  • 6.7 小结 123
  • 第7章 编译成C 126
  • 7.1 可能获得哪种类型的速度提升 127
  • 7.2 JIT和AOT编译器的对比 129
  • 7.3 为什么类型检查有助代码更快运行 129
  • 7.4 使用C编译器 130
  • 7.5 复习Julia集的例子 131
  • 7.6 Cython 131
  • 7.6.1 使用Cython编译纯Python版本 132
  • 7.6.2 Cython注解来分析代码块 134
  • 7.6.3 增加一些类型注解 136
  • 7.7 Shed Skin 140
  • 7.7.1 构建扩展模块 141
  • 7.7.2 内存拷贝的开销 144
  • 7.8 Cython和numpy 144
  • 7.9 Numba 148
  • 7.10 Pythran 149
  • 7.11 PyPy 151
  • 7.11.1 垃圾收集的差异 152
  • 7.11.2 运行PyPy并安装模块 152
  • 7.12 什么时候使用每种工具 154
  • 7.12.1 其他即将出现的项目 155
  • 7.12.2 一个图像处理单元(GPU)的注意点 156
  • 7.12.3 一个对未来编译器项目的展望 157
  • 7.13 外部函数接口 157
  • 7.13.1 ctypes 158
  • 7.13.2 cffi 160
  • 7.13.3 f2py 163
  • 7.13.4 CPython模块 166
  • 7.14 小结 170
  • 第8章 并发 171
  • 8.1 异步编程介绍 172
  • 8.2 串行爬虫 175
  • 8.3 gevent 177
  • 8.4 tornado 182
  • 8.5 AsyncIO 185
  • 8.6 数据库的例子 188
  • 8.7 小结 191
  • 第9章 multiprocessing模块 193
  • 9.1 multiprocessing模块综述 196
  • 9.2 使用蒙特卡罗方法来估算Pi 198
  • 9.3 使用多进程和多线程来估算Pi 199
  • 9.3.1 使用Python对象 200
  • 9.3.2 并行系统中的随机数 207
  • 9.3.3 使用numpy 207
  • 9.4 寻找素数 210
  • 9.5 使用进程间通信来验证素数 221
  • 9.5.1 串行解决方案 225
  • 9.5.2 Na ve Pool解决方案 225
  • 9.5.3 Less Na ve Pool解决方案 226
  • 9.5.4 使用Manager.Value作为一个标记 227
  • 9.5.5 使用Redis作为一个标记 229
  • 9.5.6 使用RawValue作为一个标记 232
  • 9.5.7 使用mmap作为一个标记 232
  • 9.5.8 使用mmap作为一个标记的终极效果 234
  • 9.6 用multiprocessing来共享numpy数据 236
  • 9.7 同步文件和变量访问 243
  • 9.7.1 文件锁 243
  • 9.7.2 给Value加锁 247
  • 9.8 小结 249
  • 第10章 集群和工作队列 251
  • 10.1 集群的益处 252
  • 10.2 集群的缺陷 253
  • 10.2.1 糟糕的集群升级策略造成华尔街损失4.62亿美元 254
  • 10.2.2 Skype的24小时全球中断 255
  • 10.3 通用的集群设计 255
  • 10.4 怎样启动一个集群化的解决方案 256
  • 10.5 使用集群时避免痛苦的方法 257
  • 10.6 三个集群化解决方案 258
  • 10.6.1 为简单的本地集群使用Parallel Python模块 259
  • 10.6.2 使用IPython Parallel来支持研究 260
  • 10.7 为鲁棒生产集群的NSQ 265
  • 10.7.1 队列 265
  • 10.7.2 发布者 订阅者 266
  • 10.7.3 分布式素数计算器 268
  • 10.8 看一下其他的集群化工具 271
  • 10.9 小结 272
  • 第11章 使用更少的RAM 273
  • 11.1 基础类型的对象开销高 274
  • 11.2 理解集合中的RAM使用 278
  • 11.3 字节和Unicode的对比 280
  • 11.4 高效地在RAM中存储许多文本 281
  • 11.5 使用更少RAM的窍门 290
  • 11.6 概率数据结构 291
  • 11.6.1 使用1字节的Morris计数器来做近似计数 292
  • 11.6.2 K最小值 295
  • 11.6.3 布隆过滤器 298
  • 11.6.4 LogLog计数器 303
  • 11.6.5 真实世界的例子 307
  • 第12章 现场教训 311
  • 12.1 自适应实验室(Adaptive Lab)的社交媒体分析(SoMA) 311
  • 12.1.1 自适应实验室(Adaptive Lab)使用的Python 312
  • 12.1.2 SoMA的设计 312
  • 12.1.3 我们的开发方法论 313
  • 12.1.4 维护SoMA 313
  • 12.1.5 对工程师同行的建议 313
  • 12.2 使用RadimRehurek.com让深度学习飞翔 314
  • 12.2.1 最佳时机 314
  • 12.2.2 优化方面的教训 316
  • 12.2.3 总结 318
  • 12.3 在Lyst.com的大规模产品化的机器学习 318
  • 12.3.1 Python在Lyst的地位 319
  • 12.3.2 集群设计 319
  • 12.3.3 在快速前进的初创公司中做代码评估 319
  • 12.3.4 构建推荐引擎 319
  • 12.3.5 报告和监控 320
  • 12.3.6 一些建议 320
  • 12.4 在Smesh的大规模社交媒体分析 321
  • 12.4.1 Python在Smesh中的角色 321
  • 12.4.2 平台 321
  • 12.4.3 高性能的实时字符串匹配 322
  • 12.4.4 报告、监控、调试和部署 323
  • 12.5 PyPy促成了成功的Web和数据处理系统 324
  • 12.5.1 先决条件 325
  • 12.5.2 数据库 325
  • 12.5.3 Web应用 326
  • 12.5.4 OCR和翻译 326
  • 12.5.5 任务分发和工作者 327
  • 12.5.6 结论 327
  • 12.6 在Lanyrd.com中的任务队列 327
  • 12.6.1 Python在Lanyrd中的角色 328
  • 12.6.2 使任务队列变高性能 328
  • 12.6.3 报告、监控、调试和部署 328
  • 12.6.4 对开发者同行的建议 329

以上就是本次关于配套资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

相关资源

  • Java List提取某一列、分组排序操作

    Java List提取某一列、分组排序操作

    【实例截图】 【核心代码】 package com.llf.list;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.stream.Collectors;/*** @Author llf* @Date 2019/11/13 14:36**/public class Test {public static void main(String[] args) {ListPerson pe

    大小:0.1 MBJava

  • 《冲压工艺与模具结构》教案

    《冲压工艺与模具结构》教案

    本书将理论和实训一体化,全面讲述了冲压工艺与模具结构知识。全书分为7个教学项目:冲压加工基础知识、冲裁工艺与冲裁模、弯曲工艺与弯曲模、拉深工艺与拉深模、成形工艺与模具结构、多工位级进模结构、冲压工艺规程的编制。每个项目分为多个课题,在课题实施前确定学习目标,在实践训练中辅以知识讲解,在课题后附有相应习题。 本书是中等职业技术学校、技工学校模具相关专业的教材,也可以作为短期培训班的教材和工程技术人员的参

    大小:197 MB工艺结构配套资源

  • 《SolidWorks 2018中文版完全自学手册》动画演示,源文件,原始文件

    《SolidWorks 2018中文版完全自学手册》动画演示,源文件,原始文件

    编辑推荐 1.教学:217段与本书内容同步的基础知识和实例讲解,支持多终端碎片化学2.实例解析:236个典型的案例源文件,强调动手会才是真学会。 3.内容全面:涵盖草图绘制、基础特征建模、附加特征建模、特征编辑、特征管理、模型显示、曲线创建、曲面创建、钣金设计、焊接设计、装配体设计、工程图的绘制和SolidWorks Routing布线与管道设计等内容,构建清晰的知识脉络。 内容介绍 本书通过200多个实例由浅入深、从易到难地讲述了SolidWorks 2018的知识

    大小:4.6 GBSolidWorks配套资源

  • Access数据库程序设计(第2版)

    Access数据库程序设计(第2版) 课后答案

    《Access数据库程序设计(第2版)》根据《全国计算机等级考试(NCRE)二级Access数据库程序设计考试大纲》和《全国计算机等级考试(NCRE)二级公共基础知识考试大纲》的要求,在张成叔主编的《Access数据库程序设计》(中国铁道出版社,2008年版)的基础上,将数据库软件由Access 2000升级到Access2003,并对□□版内容进行了优化整合。 《Access数据库程序设计(第2版)》共分理论部分、实训部分和公共基础部分三部分,以学生成绩管理系统和图书管理系统

    大小:172 KBAccess课后答案

  • 《机械制图与计算机绘图》教案

    《机械制图与计算机绘图》教案

    内容介绍 本书共分14章,主要内容包括制图的基本知识,正投影作图基础,轴测图,组合体,机件的常用表达方法和特殊表达方法,零件图,装配图,AutoCAD绘制工程图环境的设置,AutoCAD精确绘图和尺寸标注的方法,AutoCAD绘制零件图、装配图的相关技术,AutoCAD绘制工程三维实体的基础技术。 本书的突出特点是无论将机械制图和计算机绘图的内容分开教学,还是融合在一起进行教学,使用本书都非常方便。讲解的顺序和方式可根据不同的学时、不同的实

    大小:18.30 MB机械制图配套资源

  • 《新编Excel 2016应用大全(实战精华版)》素材

    《新编Excel 2016应用大全(实战精华版)》素材

    封面图 目录 前言 第一篇基础篇 第1章初识Excel 2016002 1.1Excel简介003 1.2Excel 2016的启动与退出004 1.2.1启动Excel 2016004 1.2.2退出Excel 2016005 1.2.3创建桌面快捷方式005 1.3Excel 2016工作环境简介005 1.3.1工作界面概述005 1.3.2功能区006 1.3.3文件按钮009 1.3.4快速访问工具栏010 1.3.5使用快捷键010 1.3.6右键快捷菜单010 1.3.7工作簿和工作表011

    大小:4.8 MBExcel配套资源

  • 数据结构(第二版)

    数据结构(第二版) 课后答案

    本书第1版于2007年被评为江苏省高等学校精品教材,第2版2007年入选普通高等教育十一五*规划教材。 本书保留经典数据结构知识,引入伸展树和跳表等新内容,教材反映抽象、封装和信息隐蔽等现代软件设计理念。本书重视程序设计和实践性。书中算法都有完整的C++程序,程序代码注释详细,结构清晰,构思精巧,它们既是很好的学习数据结构和算法的示例,也是很好的C++程序设计示例。实习指导和实习题独立成章,指导学生按软件工程学的方法设计算

    大小:473 KB数据结构课后答案

  • 《JSP程序设计教程》源代码,教案

    《JSP程序设计教程》源代码,教案

    内容介绍 本书作为JSP相关课程的教材,系统地介绍了有关JSP开发所涉及的各类知识。全书共分12章,内容包括JSP概述、JSP开发基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、JSP实用组件、JSP数据库应用开发和JSP高级程序设计,并通过JSP综合开发实例个人博客,介绍了JSP应用的开发流程和相关技术的综合应用。全书最后提供了两个课程设计方案,在线投票系统和无刷新的聊天室,供学生综合实践使用。 本书所讲知识都结合具体实例进行介绍,力求详

    大小:22.84 MBJSP配套资源

下载地址

相关声明:

学习笔记