Python High Performance Programming
By Gabriele Lanaro
Publisher: Packt Publishing
Final Release Date: 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 3 reviews)

Ratings Distribution

  • 5 Stars

     

    (0)

  • 4 Stars

     

    (3)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Easy to understand (3)
  • Helpful examples (3)

Cons

    Best Uses

    • Intermediate (3)
      • Reviewer Profile:
      • Developer (3)

    Reviewed by 3 customers

    Sort by

    Displaying reviews 1-3

    Back to top

    (0 of 1 customers found this review helpful)

     
    4.0

    Nice book

    By Jwackito

    from La Plata, AR

    About Me Developer, Educator

    Verified Buyer

    Pros

    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

    • Some Errors In Examples

    Best Uses

    • Intermediate

    Comments about oreilly Python High Performance Programming:

    Some examples didn't work and need a fix. But the insights about the tool are priceless.

    (0 of 2 customers found this review helpful)

     
    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.

      (13 of 13 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-3

        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