In 1974, Donald Knuth wrote, "We should forget about small efficiencies, say about 97% of the premature optimization is the root of all evil." With computers available now that are millions of times faster than those available then, today's programmers have even less reason to worry about shaving cycles and saving bytes than those a generation ago. But "less" isn't "none": every once in a while, squeezing the last ounce of performance out of the machine really does matter.
This book is written by over a dozen developers who have grappled with slow code, memory leaks, or uncontrollable latency in open source software. They share their mistakes and successes, and give the reader an over-the-shoulder view of how they approached their specific challenges. With examples from bioinformatics research code to web browsers, the solutions are as varied as the problems.
This book will help junior and senior developers alike understand how their colleagues think about performance.
This is a good collection of stories/explanations of the somewhat lost and deprived art of optimizing software. Some chapters are good, some bad (more on that below), but all in all it can teach newbies a lot, and can give some ideas even to advanced users.
Chapter by chapter: chrome - This one is good, and actually a must read for any web and web-related developers, as it goes into the depths on how to optimize web services, not only the client side. SocialCalc - This was boring. ninja - This has some nice ideas. parsing xml - This actually had a lot of very good low-level optimization ideas, like the very simple memory allocator. memshrink - Mostly a story how they wrote a tool to trace memory usage. applying... - Crap. infinispan - Mostly a description of the product, nothing real. talos - Again a story. zotonic - very interesting, a very fast web server in erlang secrets of mobile network performance - mostly an explanation of the problems, no real solutions (and there are a lot). warp - A very fast web server in Haskell, has some nice ideas. big data in informatics - nothing too interesting.
There are some interesting chapters -about Chrome, fighting memory leaks in Firefox. Unfortunately, a lot of chapters are from obscure or research projects.
Jak je v této sérii zvykem, jde o knihu nesourodých esejů od autorů, kteří mají zcela rozdílné odborné zkušenosti i stylistické dovednosti. Celá tato záslužná řada knih by si zasloužila pečlivější výběr přispěvatelů a nesmlouvavější odborné editory. Většina esejů je povrchních a bez nakouknutí do kódu nepochopíte, jaké problémy autor popisuje a jak je řešil, ne, jak si myslel, že je (vy)řešil.
Kvalitní a srozumitelné eseje jsou. 1) High performance networking in Chrome. 2) MemShrink (Firefox). 3) Warp. Špatná není ani esej Secrets of Mobile Network Performance. Trpí tím, že předpokládá, že čtenář nemá žádné znalosti architektury mobilních sítí, a proto je v první části při popisu architektury nadmíru ukecaná, a ve druhé, kde se konečně řeší problémy s latencí síťových pořadavků je pro změnu extrémně stručná. A část o Tls protokolu je zastaralá/nesmyslná.