Customer Reviews


2 Reviews
5 star:
 (1)
4 star:    (0)
3 star:    (0)
2 star:    (0)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favourable review
The most helpful critical review


3 of 3 people found the following review helpful
5.0 out of 5 stars bargain!
The author has done an excellent job condensing his practical knowledge in this difficult and sometimes very technical field. The choice of content and format of presentation has resulted in a book where each chapter adds to a set of techniques that, without further study, can be immediately applied to get sometimes impressive performance increases. Although the book has...
Published 12 months ago by dmc

versus
2 of 2 people found the following review helpful
1.0 out of 5 stars A complete waste of money.
This book is really terrible. I bought the kindle edition hoping for some good information on high performance computing in python. I'll summarise the book for any potential purchasers and save them wasting their money.

chapter 1: use a profiler. They are good. So is timeit.
Chapter 2: use numpy. It is good. Here's some small examples of using numpy...
Published 6 months ago by Dr. E. Kirk


Most Helpful First | Newest First

3 of 3 people found the following review helpful
5.0 out of 5 stars bargain!, 19 Feb. 2014
This review is from: Python High Performance Programming (Paperback)
The author has done an excellent job condensing his practical knowledge in this difficult and sometimes very technical field. The choice of content and format of presentation has resulted in a book where each chapter adds to a set of techniques that, without further study, can be immediately applied to get sometimes impressive performance increases. Although the book has a number-crunching theme much of the information applies equally to other domains, including the emphasis on benchmarking, profiling and checking that solutions scale well. It has also managed to avoid becoming a shopping-list affair of technologies/techniques and this helps keep the book focused and short enough to be a very practical introduction to the field.

I nearly skipped the chapter on NumPy but it turned out to be a very good and concise refresher. I would recommend it as a quick introduction for anyone not already familiar with NumPy. Even if you do already know NumPy basics, this whole chapter is fully justified towards the end with the introduction of the "numexpr" package and again in the third chapter when NumPy is combined with Cython's "buffer interface" and "typed memoryview". My past use of NumPy typically ended when I thought the code was "fast enough" but I'm now eager to revisit old code and breath new life into it :-)

With the rise of Numba it could be tempting to dismiss Cython but Numba is a relatively recent development, possibly after this book's creation and almost definitely after the bulk of the work it is based on (large sim's & "Chemlab"). Even if Numba is now a credible drop-in replacement, I suspect Cython might still provide more fine control and remains the current choice for many developers. It would be good to see a supplementary article by the author on this topic and other options.

The final chapter deals with parallel programming and, like other chapters, is sufficiently self contained to be a stand-alone introduction while still offering up techniques that are immediately useful. It manages to adequately cover the three main parallel options (including IPython's facilities) in less than 20 pages. This amazing feat is a testament to the authors' focus and the amount of thought put into the planning of this whole book.

Niggles: not many. The book is generally well written but maybe a little rushed in the first few pages of the first chapter where it sets up the example used for benchmarking/profiling and throughout the rest of the book (hint: just jump in, import simul.py and start benchmarking & profiling on your own machine). It would be nice for comparison to know the spec's of the system the author used for timings. There is no overall summary saying something like "This is what we started with, this is what we ended up with" and showing gains at each stage/technique. Likewise, to wrap the whole book up, it would have been good to include a short final chapter to set real world expectations and provide some pointers for further exploration.

Despite these niggles, the book is still an absolute bargain and that's even without factoring in the time it would take to pull all this information together yourself, from a multitude of sources, and judge what will get you the biggest gains for the least effort.

Well done Gabriele Lanaro (first book?) and Packt Publishing!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
1.0 out of 5 stars A complete waste of money., 1 Sept. 2014
By 
Verified Purchase(What is this?)
This book is really terrible. I bought the kindle edition hoping for some good information on high performance computing in python. I'll summarise the book for any potential purchasers and save them wasting their money.

chapter 1: use a profiler. They are good. So is timeit.
Chapter 2: use numpy. It is good. Here's some small examples of using numpy. See how good it is.
Chapter 3: Use Cython. It too is good. But tricky.
Chapter 4: use the multiprocessing module. It makes things faster but is a bit tricky too.

And that is it. Really. You can get the whole of chapter 2 and a lot lot more just from reading the numpy docs on the project page. Cython has some nice features but you will need to read a lot more documentation than this slim volume to write good robust systems. Try the website. Chapter 4 is already out of date since you should probably be using the concurrent.futures modules in Python 3. And honestly, anybody who needs to be told that sending one multiplication off to another process and getting it back is going to be slower than doing the multiplication locally is probably in the wrong job.

So save yourself the money: read the Python documentation on line, read the numpy documentation on line. This is just a terrible weak book which will help no one.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Most Helpful First | Newest First

This product

Python High Performance Programming
Python High Performance Programming by Gabriele Lanaro (Paperback - 22 Dec. 2013)
£18.99
In stock
Add to basket Add to wishlist
Only search this product's reviews