High Performance Python
Practical Performant Programming for Humans
Publisher: O'Reilly Media
Final Release Date: March 2014
Pages: 360

With Early Release ebooks, you get access to books while they are being written so you can take advantage of these technologies right now. You'll receive updates when content is added, as well as the completed ebooks. You get free lifetime access, multiple file formats, and free updates.

If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral technologies, such as numpy, cython, cpython, and various multi-threaded and multi-node strategies.

There's a lack of good learning and reference material available if you want to learn Python for highly computational tasks. Because of it, fields from physics to biology and systems infrastructure to data science are hitting barriers. They need the fast prototyping nature of Python, but too few people know how to wield it. This book will put you ahead of the curve.

Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyHigh Performance Python
 
3.5

(based on 4 reviews)

Ratings Distribution

  • 5 Stars

     

    (0)

  • 4 Stars

     

    (2)

  • 3 Stars

     

    (2)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Helpful examples (3)

Cons

    Best Uses

    • Intermediate (3)

    Reviewed by 4 customers

    Sort by

    Displaying reviews 1-4

    Back to top

     
    3.0

    Great guide for speeding up Python

    By Louis

    from Pittsburgh, PA

    About Me Educator, Scientific Programmer

    Verified Reviewer

    Pros

    • Broad View
    • Helpful examples

    Cons

    • Too many errors

    Best Uses

    • Intermediate
    • Scientific Computing

    Comments about oreilly High Performance Python:

    For someone like me who is a technical programmer but did not study CS, I've seen hints on how to speed up Python numerical code, but I only had a vague understanding of the principles and application. This book has examples that demonstrate why certain data structures are faster than others in particular situations, and how to use the various data structures provided.

    But what may be unique is the chapter on the ways of speeding up Python through compiled code. There are many ways of using compiled code through Python, C and Fortran extensions, Cython and PyPy, and more recently Numba. But this book explains the strengths and limitations for each, along with a number of other ways of using compiled code along with Python that I had not heard of before. There are many references for each of these, but no general overview of this group of resources.

    This is still an Early Release stage, so there are some warts. Many of the code examples are raw, and you have to know what you are doing to fill them in and get them to work. A website or Git repository with the source code examples would be very helpful.

    (6 of 6 customers found this review helpful)

     
    4.0

    Rough at present, lots of promise

    By jmxp

    from Durham, NC

    About Me Educator, Scientist

    Pros

    • Helpful examples

    Cons

      Best Uses

      • Intermediate

      Comments about oreilly High Performance Python:

      Disclaimer: I received a free copy of this work under the O'Reilly Blogger Review Program.

      High Performance PythonIn the worlds of scientific computing and data science, it's hard to dispute that Python is the language of the moment. With an ever-increasing user community and quality package support, the NumPy/SciPy/Pandas stack is beginning to give platforms like Matlab and R a run for their money.

      But Python has its drawbacks. It can be slow in data-intensive analysis, especially compared with compiled languages. The GIL, the global interpreter lock, is a barrier to parallel algorithms analysis. Thus the proliferation of tools — Cython, Jython, Numba, a host of parallelizing libraries — designed to help Python compete with industrial tools and level up when confronted with tasks demanding intensive data crunching.

      At the moment, though, there's a dearth of instructional material out there for these new tools, especially for those without much experience programming close to the metal. Lots of working scientists out there might like to optimize one or two key functions in their algorithms, but the prospect of rewriting an entire program in Java or C++ can seem like a bridge too far.

      All of which is to say that I suspect there is a hefty demand for a book like High Performance Python. It could easily become the go-to manual for optimizing Python code in the scientific community.

      As of now, though, this is more promise than reality. The version of the text I reviewed is still preliminary in both presentation and coverage, so I'm writing this to encourage people to keep an eye out as the work develops.

      The Good: Gorelick and Ozsvald are trying for a pretty systematic introduction to performance optimization. Many will skip the introduction to computer architecture to get straight to the code, but shouldn't. The chapter on profiling shows even novice users how they can begin locating bottlenecks in their own code. Chapter 3, comparing lists and tuples, might not be the first section readers like myself flip to, but is an important step in thinking carefully about the efficiency of data structures.

      The Bad: The presentation still needs work. Right now, the text has more of a "too many trees, too little forest" feel. I suspect this will change as the authors finish chapters and continue editing, but given the intrinsic breadth and complexity of the topic, I would appreciate more summarizing, rules of thumb, and guidance. The chapter on profiling, moving so quickly from one option to another, can feel a little overwhelming, and less experienced users might want more helping sorting out how to proceed. On a smaller count, the quality of the figures is not terribly high. Much of the labeling is unreadable.

      On balance, though, this book is extremely promising. Even given the flaws in its current form, it may still end up as the standard resource for Python optimization. I am looking forward to watching as it evolves.

      Rating is an average of 3 stars for present state and 5 stars for promise.

      (1 of 2 customers found this review helpful)

       
      4.0

      A must read for python professionals!

      By nxvl

      from Lima, Peru

      About Me Developer, Maker, Sys Admin

      Verified Reviewer

      Pros

      • Accurate
      • Easy to understand
      • Helpful examples

      Cons

        Best Uses

        • Expert
        • Intermediate

        Comments about oreilly High Performance Python:

        I hope this book was written 4 years ago! It provides a lot of inside for the problems we get into when working with Big Data and heavy process automation. While it doesn't cover some other important issues and problems, like DBs, it provides a framework to translate the tips and tricks presented on the book to that particular area. Can't wait to read the final product!

        (2 of 5 customers found this review helpful)

         
        3.0

        Really early release...

        By Christopher

        from Saint Louis, MO

        About Me Developer

        Verified Reviewer

        Pros

        • Easy to understand
        • Well-written

        Cons

          Best Uses

            Comments about oreilly High Performance Python:

            It looks to be promising, but hard to tell...

            My rating of the book will almost certainly change, but two stars were sacrificed on the altar of mismanaged expectations.

            As my first early release purchase I was moderately dismayed that early release in this case means 3 chapters (as of 4/4/14). While the content of those three chapters is good, it is the later topics that are most likely to be important to experienced programmers.

            O'Reilly could do a better job with the early release books by managing expectations making it clear what content is completed (even if it is rough). I was under the (mistaken) impression that early release books were mostly content complete with additional editing and some content updates.

            All of that said, I'm keeping the book as I am confident it will eventually live up to the promise it shows.

            Displaying reviews 1-4

            Back to top

             
            Buy 2 Get 1 Free Free Shipping Guarantee
            Buying Options
            Immediate Access - Go Digital what's this?
            Pre-Order  Print: $39.99
            August 2014 (est.)