Python High Performance Programming

If you have at least a basic knowledge of Python, this book will help you maximize the performance of your code and applications. Easy to follow tutorials will make you a hard act to follow in Python programming.

Python High Performance Programming

Progressing
Gabriele Lanaro

2 customer reviews
If you have at least a basic knowledge of Python, this book will help you maximize the performance of your code and applications. Easy to follow tutorials will make you a hard act to follow in Python programming.
$17.99
$29.99
RRP $17.99
RRP $29.99
eBook
Print + eBook
$29.99 p/month

Subscribe Now

Download this title FREE and instantly access over 3,500 courses today!

With unlimited access to a constantly growing library of over 3,500 courses, a subscription to Mapt gives you everything you need to get that next promotion or to land that dream job. Cancel anytime.

+ Collection
Free Sample

Book Details

ISBN 139781783288458
Paperback108 pages

Book Description

Python is a programming language with a vibrant community known for its simplicity, code readability, and expressiveness. The massive selection of third party libraries make it suitable for a wide range of applications. This also allows programmers to express concepts in fewer lines of code than would be possible in similar languages. The availability of high quality numerically-focused tools has made Python an excellent choice for high performance computing. The speed of applications comes down to how well the code is written. Poorly written code means poorly performing applications, which means unsatisfied customers.

This book is an example-oriented guide to the techniques used to dramatically improve the performance of your Python programs. It will teach optimization techniques by using pure python tricks, high performance libraries, and the python-C integration. The book will also include a section on how to write and run parallel code.

This book will teach you how to take any program and make it run much faster. You will learn state-of the art techniques by applying them to practical examples. This book will also guide you through different profiling tools which will help you identify performance issues in your program. You will learn how to speed up your numerical code using NumPy and Cython. The book will also introduce you to parallel programming so you can take advantage of modern multi-core processors.

This is the perfect guide to help you achieve the best possible performance in your Python applications.

Table of Contents

Chapter 1: Benchmarking and Profiling
Designing your application
Writing tests and benchmarks
Finding bottlenecks with cProfile
Profile line by line with line_profiler
Optimizing our code
The dis module
Profiling memory usage with memory_profiler
Performance tuning tips for pure Python code
Summary
Chapter 2: Fast Array Operations with NumPy
Getting started with NumPy
Rewriting the particle simulator in NumPy
Reaching optimal performance with numexpr
Summary
Chapter 3: C Performance with Cython
Compiling Cython extensions
Adding static types
Sharing declarations
Working with arrays
Particle simulator in Cython
Profiling Cython
Summary
Chapter 4: Parallel Processing
Introduction to parallel programming
The multiprocessing module
IPython parallel
Parallel Cython with OpenMP
Summary

What You Will Learn

  • Assess the performance of your programs using benchmarks
  • Spot the bottlenecks in your code using the Python profiling tools
  • Speed up your code by replacing Python loops with NumPy
  • Boost NumPy performance using the numexpr compiler
  • Use Cython to reach performance on par with the C language
  • Write code for multiple processors
  • Profile, optimize, and rewrite an application from start to finish

Authors

Table of Contents

Chapter 1: Benchmarking and Profiling
Designing your application
Writing tests and benchmarks
Finding bottlenecks with cProfile
Profile line by line with line_profiler
Optimizing our code
The dis module
Profiling memory usage with memory_profiler
Performance tuning tips for pure Python code
Summary
Chapter 2: Fast Array Operations with NumPy
Getting started with NumPy
Rewriting the particle simulator in NumPy
Reaching optimal performance with numexpr
Summary
Chapter 3: C Performance with Cython
Compiling Cython extensions
Adding static types
Sharing declarations
Working with arrays
Particle simulator in Cython
Profiling Cython
Summary
Chapter 4: Parallel Processing
Introduction to parallel programming
The multiprocessing module
IPython parallel
Parallel Cython with OpenMP
Summary

Book Details

ISBN 139781783288458
Paperback108 pages
Read More
From 2 reviews

Read More Reviews