导语摘要
你的Python代码也许运行正确,但是你需要运行得更快。本书针对Python 3进行了更新,经过拓展后的新版向你展示了如何在高数据量程序中定位性能瓶颈,显著提高代码速度。通过探索设计选择背后的基础理论,《高性能Python》将帮助你更深入地理解Python的实现。
该如何利用多核架构和集群?或者该如何构建能够自由伸缩同时又不失可靠性的系统?有经验的Python程序员会学到很多问题的具体解决方案,了解到各个公司如何将高性能Python应用于社交媒体分析、产品机器学习等场景的曲折故事。
更好地掌握NumPy、Cython、profilers
了解Python如何抽象底层计算机架构
使用分析器来查找CPU世界和内存占用方面的瓶颈
选择适合的数据结构来编写高效的程序
加速矩阵和向量计算
使用工具将Python脚本编译成机器码
管理多I/O和并发操作
将多处理代码转换为在本地或远程集群上运行
使用Docker等工具更快地部署代码
目录
Foreword
Preface
1.Understanding Performant Python
The Fundamental Computer System
Computing Units
Memory Units
Communications Layers
Putting the Fundamental Elements Together
Idealized Computing Versus the Python Virtual Machine
So Why Use Python?
How to Be a Highly Performant Programmer
Good Working Practices
Some Thoughts on Good Notebook Practice
Getting the Joy Back into Your Work
2.Profiling to Find Bottlenecks.
Profiling Efficiently
Introducing the Julia Set
Calculating the Full Julia Set
Simple Approaches to Timing-print and a Decorator
Simple Timing Using the Unix time Command
Using the cProfile Module
Visualizing cProfile Output with SnakeViz
Using line_profiler for Line-by-Line Measurements
Using memory_profiler to Diagnose Memory Usage
Introspecting an Existing Process with PySpy
Bytecode:Under the Hood
Using the dis Module to Examine CPython Bytecode
Different Approaches,Different Co mplexity
Unit Testing During Optimization to Maintain Correctness
No-op @profile Decorator
Strategies to Profile Your Code Successfully
Wrap-Up
3.Lists and Tuples
A More Efficient Search
Lists Versus Tuples
Lists as Dynamic Arrays
Tuples as Static Arrays
Wrap-Up
4.Dictionaries and Sets.
How Do Dictionaries and Sets Work?
Inserting and Retrieving
Deletion
Resizing
Hash Functions and Entropy
Dictionaries and Namespaces
Wrap-Up
5.Iterators and Generators.
Iterators for Infinite Series
Lazy Generator Evaluation
Wrap-Up
……
内容摘要
你的Python代码也许运行正确,但是你需要运行得更快。本书针对Python 3进行了更新,经过拓展后的新版向你展示了如何在高数据量程序中定位性能瓶颈,显著提高代码速度。通过探索设计选择背后的基础理论,《高性能Python》将帮助你更深入地理解Python的实现。
该如何利用多核架构和集群?或者该如何构建能够自由伸缩同时又不失可靠性的系统?有经验的Python程序员会学到很多问题的具体解决方案,了解到各个公司如何将高性能Python应用于社交媒体分析、产品机器学习等场景的曲折故事。
更好地掌握NumPy、Cython、profilers
了解Python如何抽象底层计算机架构
使用分析器来查找CPU世界和内存占用方面的瓶颈
选择适合的数据结构来编写高效的程序
加速矩阵和向量计算
使用工具将Python脚本编译成机器码
管理多I/O和并发操作
将多处理代码转换为在本地或远程集群上运行
使用Docker等工具更快地部署代码
以下为对购买帮助不大的评价