Boost the performance of your Python programs using advanced techniques
- Identify the bottlenecks in your applications and solve them using the best profiling techniques
- Write efficient numerical code in NumPy and Cython
- Adapt your programs to run on multiple processors with parallel programming
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.
What you will learn from this book
- 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
An exciting, easy-to-follow guide illustrating the techniques to boost the performance of Python code, and their applications with plenty of hands-on examples.
Who this book is written for
If you are a programmer who likes the power and simplicity of Python and would like to use this language for performance-critical applications, this book is ideal for you. All that is required is a basic knowledge of the Python programming language. The book will cover basic and advanced topics so will be great for you whether you are a new or a seasoned Python developer.