Performance Engineering

"Performance engineering encompasses the techniques applied during a systems development life cycle to ensure the non-functional requirements for performance (such as throughput, latency, or memory usage) will be met. It may be alternatively referred to as systems performance engineering within systems engineering, and software performance engineering or application performance engineering within software engineering." - Wikipedia


  1. Every Computer Performance Book: How to Avoid and Solve Performance Problems 
on The Computers You Work With; Bob Wescott

  2. The Practical Performance Analyst; Neil Gunther

  3. Systems Performance: Enterprise and the Cloud; Gregg

  4. BPF Performance Tools; Gregg

  5. Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software; Connie U. Smith, Lloyd G. Williams

  6. The Art of Capacity Planning: Scaling Web Resources; John Allspaw

  7. Java Performance - The Definitive Guide; Scott Oaks

  8. Optimizing Java: Practical Techniques for Improving JVM Application Performance; Benjamin J Evans , James Gough, Chris Newland

  9. High Performance Browser Networking: What every web developer should know about networking and web performance; Ilya Grigorik

  10. High-Performance Java Persistence; Vlad Mihalcea

  11. Go-Perf Book, Thoughts on Go performance optimization, Damian Gryski






  1. Performance Matters, Emery Berger

  2. Latency SLOs Done Right, Theo Schlossnagle





  1. On the Impact of Memory Allocation on High-Performance Query Processing

  2. I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions

  3. What Every Programmer Should Know About Memory

  4. - Performance Analysis & Tuning on Modern CPU - Denis Bakhvalov.