Your Python code may run correctly, but you need it to run faster. By exploring the fundamental theory behind design choices, the updated edition of this practical guide, expanded and enhanced for Python 3, helps you gain a deeper understanding of Python’s implementation. You’ll learn how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs.
How can you take advantage of multicore architectures or clusters? Or build a system that can scale up and down without losing reliability? Experienced Python programmers and students alike will learn concrete solutions to these and other issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and other situations.
- Get a better grasp of NumPy, Cython, and profilers
- Learn how Python abstracts the underlying computer architecture
- Understand performant pandas
- Use profiling to find bottlenecks in CPU time and memory usage
- Write efficient programs by choosing appropriate data structures
- Speed up matrix, vector, and even tensor computations
- Use tools to compile Python down to machine code, on CPUs and GPUs
- Manage multiple I/O and computational operations concurrently
- Convert multiprocessing code to run on a local or remote cluster
- Deploy code faster using tools like Docker
- Solve large problems while using less RAM
- Get real-life stories and lessons from Python programmers
Micha Gorelick cofounded Fast Forward Labs as resident mad scientist. The company was acquired by Cloudera in 2017. He works on many issues from machine learning to performant stream algorithms.
Ian Ozsvald is a data scientist and teacher at ModelInsight.io. He’s taught high performance Python at the PyCon and PyData conferences and has been consulting on data science and high performance computing for years in the UK.