Python High Performance - Second Edition

Learn how to use Python to create efficient applications
Preview in Mapt

Python High Performance - Second Edition

Gabriele Lanaro

3 customer reviews
Learn how to use Python to create efficient applications
Mapt Subscription
FREE
$29.99/m after trial
eBook
$22.40
RRP $31.99
Save 29%
Print + eBook
$39.99
RRP $39.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$22.40
$39.99
$29.99 p/m after trial
RRP $31.99
RRP $39.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Python High Performance - Second Edition Book Cover
Python High Performance - Second Edition
$ 31.99
$ 22.40
Cassandra High Performance Cookbook - Second Edition Book Cover
Cassandra High Performance Cookbook - Second Edition
$ 35.99
$ 25.20
Buy 2 for $35.00
Save $32.98
Add to Cart

Book Details

ISBN 139781787282896
Paperback270 pages

Book Description

Python is a versatile language that has found applications in many industries. The clean syntax, rich standard library, and vast selection of third-party libraries make Python a wildly popular language. 

Python High Performance is a practical guide that shows how to leverage the power of both native and third-party Python libraries to build robust applications.

The book explains how to use various profilers to find performance bottlenecks and apply the correct algorithm to fix them. The reader will learn how to effectively use NumPy and Cython to speed up numerical code. The book explains concepts of concurrent programming and how to implement robust and responsive applications using Reactive programming. Readers will learn how to write code for parallel architectures using Tensorflow and Theano, and use a cluster of computers for large-scale computations using technologies such as Dask and PySpark.

By the end of the book, readers will have learned to achieve performance and scale from their Python applications.

Table of Contents

Chapter 1: Benchmarking and Profiling
Designing your application
Writing tests and benchmarks
Better tests and benchmarks with pytest-benchmark
Finding bottlenecks with cProfile
Profile line by line with line_profiler
Optimizing our code
The dis module
Profiling memory usage with memory_profiler
Summary
Chapter 2: Pure Python Optimizations
Useful algorithms and data structures
Caching and memoization
Comprehensions and generators
Summary
Chapter 3: Fast Array Operations with NumPy and Pandas
Getting started with NumPy
Rewriting the particle simulator in NumPy
Reaching optimal performance with numexpr
Pandas
Summary
Chapter 4: C Performance with Cython
Compiling Cython extensions
Adding static types
Sharing declarations
Working with arrays
Particle simulator in Cython
Profiling Cython
Using Cython with Jupyter
Summary
Chapter 5: Exploring Compilers
Numba
The PyPy project
Other interesting projects
Summary
Chapter 6: Implementing Concurrency
Asynchronous programming
The asyncio framework
Reactive programming
Summary
Chapter 7: Parallel Processing
Introduction to parallel programming
Using multiple processes
Parallel Cython with OpenMP
Automatic parallelism
Summary
Chapter 8: Distributed Processing
Introduction to distributed computing
Dask
Using PySpark
Scientific computing with mpi4py
Summary
Chapter 9: Designing for High Performance
Choosing a suitable strategy
Organizing your source code
Isolation, virtual environments, and containers
Continuous integration
Summary

What You Will Learn

  • Write efficient numerical code with the NumPy and Pandas libraries
  • Use Cython and Numba to achieve native performance
  • Find bottlenecks in your Python code using profilers
  • Write asynchronous code using Asyncio and RxPy
  • Use Tensorflow and Theano for automatic parallelism in Python
  • Set up and run distributed algorithms on a cluster using Dask and PySpark

Authors

Table of Contents

Chapter 1: Benchmarking and Profiling
Designing your application
Writing tests and benchmarks
Better tests and benchmarks with pytest-benchmark
Finding bottlenecks with cProfile
Profile line by line with line_profiler
Optimizing our code
The dis module
Profiling memory usage with memory_profiler
Summary
Chapter 2: Pure Python Optimizations
Useful algorithms and data structures
Caching and memoization
Comprehensions and generators
Summary
Chapter 3: Fast Array Operations with NumPy and Pandas
Getting started with NumPy
Rewriting the particle simulator in NumPy
Reaching optimal performance with numexpr
Pandas
Summary
Chapter 4: C Performance with Cython
Compiling Cython extensions
Adding static types
Sharing declarations
Working with arrays
Particle simulator in Cython
Profiling Cython
Using Cython with Jupyter
Summary
Chapter 5: Exploring Compilers
Numba
The PyPy project
Other interesting projects
Summary
Chapter 6: Implementing Concurrency
Asynchronous programming
The asyncio framework
Reactive programming
Summary
Chapter 7: Parallel Processing
Introduction to parallel programming
Using multiple processes
Parallel Cython with OpenMP
Automatic parallelism
Summary
Chapter 8: Distributed Processing
Introduction to distributed computing
Dask
Using PySpark
Scientific computing with mpi4py
Summary
Chapter 9: Designing for High Performance
Choosing a suitable strategy
Organizing your source code
Isolation, virtual environments, and containers
Continuous integration
Summary

Book Details

ISBN 139781787282896
Paperback270 pages
Read More
From 3 reviews

Read More Reviews

Recommended for You

Daniel Arbuckle's Mastering Python Book Cover
Daniel Arbuckle's Mastering Python
$ 31.99
$ 22.40
Learn Python in 7 Days Book Cover
Learn Python in 7 Days
$ 31.99
$ 22.40
Python: End-to-end Data Analysis Book Cover
Python: End-to-end Data Analysis
$ 71.99
$ 50.40
React: Building Modern Web Applications Book Cover
React: Building Modern Web Applications
$ 59.99
$ 42.00
The Python Apprentice Book Cover
The Python Apprentice
$ 31.99
$ 22.40
Linux: Powerful Server Administration Book Cover
Linux: Powerful Server Administration
$ 79.99
$ 56.00