Python High Performance Programming
By Gabriele Lanaro
Publisher: Packt Publishing
Released: December 2013
Pages: 108

In Detail

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.

Approach

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 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.

Product Details
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyPython High Performance Programming
 
4.0

(based on 2 reviews)

Ratings Distribution

  • 5 Stars

     

    (0)

  • 4 Stars

     

    (2)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

Reviewed by 2 customers

Sort by

Displaying reviews 1-2

Back to top

 
4.0

A real time save!

By hummer010

from Alberta, Canada

About Me Developer

Verified Buyer

Pros

  • Concise
  • Easy to understand
  • Helpful examples

Cons

    Best Uses

    • Intermediate
    • Novice
    • Student

    Comments about oreilly Python High Performance Programming:

    This book has some great tips and tricks on improving the performance of your python code. Some of this will be known to advanced python programmers. For others, this is an invaluable book.

    (3 of 3 customers found this review helpful)

     
    4.0

    Great initiation to HPC in Python

    By Matt

    from South East Asia

    About Me Developer, Hpc Engineer, Maker

    Verified Reviewer

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Intermediate
      • Novice
      • Student

      Comments about oreilly Python High Performance Programming:

      I have been designing HPC software for more than 10 years, building applications in Fortran/C/C++ that I have the privilege to see run on supercomputers listed in the top 10 of the Top500. I don't expect Python to blast any of the languages above anytime soon for production environment.

      Nonetheless...

      I have also been advocating Python for prototyping (i.e. the "make it run" and "make it right" parts of HPC development mentioned in the book) for the last 3 years. I bought the book out of curiosity, with a clear interest in the last section dedicated to Parallel Processing, but also, given the price, expecting nothing more than a kind of shopping list of available libraries.

      I have to say that I underestimated the work of the author. I ended up reading the whole book thoroughly. It's extremely well written, shares the best practices for what I consider is at the heart of HPC: memory, calling C when required (and only then), concurrent access and schema (e.g. master/slave). For each of the above, the book shares the tools, key concepts and best practices. HPC is full of young talented programmers who think they'll be able to work like cowboys or rock-stars. I didn't expect the book to show so brilliantly that it's quite the opposite: it focuses on method and self-control.

      I only have two wishes for a future release:
      Get more tips/tools to debug heavily parallel programs, which usually is a pain in the neck. Let's go "print()" or not ? :)
      Get more complex and more "pythonic" examples. I would personally have loved an example of computation of a min() or max() over an iterator built out of product(), combinations() and permutations(). The volume of questions about that very subject in popular programming forums show that it's not always as straightforward as with range().

      As a conclusion, yes, I would absolutely recommend the book to anyone willing to get started with building/prototyping HPC applications in Python. It shares very valuable insight and practices.

      Displaying reviews 1-2

      Back to top

       
      Buy 2 Get 1 Free Free Shipping Guarantee
      Buying Options
      Immediate Access - Go Digital what's this?
      Ebook: $17.99
      Formats:  ePub, Mobi, PDF