Full description not available
C**S
An essential systems book
You can be a very good programmer understanding algorithms, you can be a very good architect building very large distributed systems, however, something that make some Computer scientists/architects/programmers unique is their deep understanding of what's happening in the layers below. This is not something you achieve at school but through a lot, a lot of experience. The author has summarized very well a collection of very useful experiences.For most of my 20 years of experience working as a programmer, researcher and computer architect, there has always been a new insight I found through performance investigations. Understanding why we had contention, where the critical path of an application was. It's usually hide and seek problem with lots of dynamic components, especially nowadays in the cloud. This book reminds me of lots of these battles written in a very easy manner educating the reader.Sites is a genius in this book by spending the first part of the book explaining the fundamentals, making sure the reader revisits all the trade-offs we learned at school or through our first programs. I could not skip a single chapter as it's well written and it was feeding my curiosity and getting me engaged.There is another set of chapters explaining tools. Something it seems the author has a lot of experience with. I imagine he contributed to a large set of tools at Google. Not only at user space level but at the kernel level.To make the book even more complete, the last chapters of the book are 'caviar' for me (most exquisite food ever). Waiting for queues, network, locks or disk. These are very common patterns that programmers deal with every day, even experienced ones. The author educates us very well here going through examples and all the trade-offs. Excellent job.This is a MUST book to have to anyone working with systems. Even if you're not the type of person that reads all the content of the book. Just as a manual for how to focus a specific problem. I've had it in my desk for a couple of months, and I have consulted several times to decide whether to use a specific pattern in my code in the Cloud or for infrastructure.I can't only complain about one thing, when is the second part of this book coming?
D**Y
Hard to follow author's ideas
Oftentimes it's pretty hard to follow the author. He's jumping from one subject to another within a single chapter without clearly expressing his thoughts.There is some useful information/reminder where computer latency is coming from, like caches, memory, etc.The author presents a few interesting use cases.But there's a lot of no so relevant information, like a bunch of chapters on how to write a program to detect cache size, or how to write own tracer. Described software will unlikely be used by anyone.At the same time the author does not mention SW dynamics in multi-core/multi-CPU environment, like cache false sharing, cache lines dynamics, etc.The last part of the book is the most interesting, but it's only 25% of the book.This book is overvalued.
D**N
Practical guide to software performance that respects your time
I’ve spent my career working on high performance software, and for anyone interested in a no-nonsense, practical approach to optimization and performance wrangling, this is the book for you.What a fantastic work. The pacing, the style, the information included along with what wasn't included - I looked forward to reading more of it every day. Very useful and practical advice, and respects the time of the reader. The focus on solving tough issues and stressing how important visualizing and seeing the dynamics of software systems instead of relying on averages and other "overalls" had me nodding my head in agreement over and over.Reading this book is like having a mentor who's been through it catching you up on what you need to know to be useful like you would encounter at a job, instead of an exhaustive textbook for a class so you can answer the right questions on an exam. If you haven’t done much performance-oriented work, this book will be a tremendous head-start. If you have, it’ll reinforce and clarify your existing knowledge and approach and give you a quick resource to offer for other engineers. I wholeheartedly recommend this book.
M**N
Excellent book
Over the years I have done more work on performance and less on programming but I have always been too busy to learn and re-learn the basics that I need to be productive. This year I will change that by reading this book and then at least one written by Brendan Gregg.I finished the first two chapters and this book is amazing. I like that it is concise and full of short examples that I can try and extend to understand what is being explained. I also enjoy that the author is able to cite relevant details from systems that were designed all the way back to the 1960s as a way of explaining how we got here.
Trustpilot
2 weeks ago
2 months ago