small medium large xlarge

Ruby Performance Optimization: Why Ruby Is Slow, and How to Fix It


Cover image for Ruby Performance Optimization

Ruby Performance Optimization

Why Ruby Is Slow, and How to Fix It


You don’t have to accept slow Ruby or Rails performance. In this comprehensive guide to Ruby optimization, you’ll learn how to write faster Ruby code—but that’s just the beginning. See exactly what makes Ruby and Rails code slow, and how to fix it. Alex Dymo will guide you through perils of memory and CPU optimization, profiling, measuring, performance testing, garbage collection, and tuning. You’ll find that all those “hard” things aren’t so difficult after all, and your code will run orders of magnitude faster.

Customer Reviews

This book is a must-have for anyone bringing performance-sensitive Ruby programs
to production. It will teach you how to efficiently hunt down and correct the bottlenecks
that make users sad and prevent teams from spending time building
new functionality.

- Matt Margolis

Director of application development, Getty Images

A fantastic book. Probably the best tech book I have read in the last few years. It
brings together information I can’t just find in 30 minutes of web searches. This
book has taught me to be a better developer and to start filling a hole in my skill

- Charley Stran

Web developer, TheBlaze | Mercury Radio Arts

Ruby Performance Optimization has changed the way I develop. I now think about
simple performance tweaks before I commit code. It is a book I keep close for reference
when solving tough performance issues.

- Jeff Holland

Senior software engineer, Ackmann & Dickenson

For programmers who aren’t familiar with what is going on “under the covers,” I
think this book will open their eyes to new levels of understanding their code.

- Kim Shrier

Principal, Westryn Internet Services, Shrier and Deihl

See All Reviews

Choose Your Format(s)

  • $24.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

Some version of Ruby. The advice from this book applies to all modern Ruby versions from 1.9 to 2.2. 80% of the material will also be useful for legacy Ruby 1.8 users, and there is 1.8-specific advice as well.

Contents & Extracts

  • Preface
  • What Makes Ruby Code Fast excerpt
    • What Makes Ruby Code Slow
    • Optimize Memory
    • Get into the Performance Mind-set
  • Fix Common Performance Problems
  • Make Rails Faster
    • Make ActiveRecord Faster
    • Make ActionView Faster
    • Takeaways
  • Profile
    • Measure with Ruby-Prof
    • Visualize with Ruby-Prof Printers
    • Visualize with KCachegrind (QCachegrind)
    • Takeaways
  • Learn to Optimize with the Profiler
    • Optimize but Don’t Break
    • Pick Low-Hanging Fruit
    • Take a Step Back
    • Takeaways
  • Profile Memory
    • Detect Excessive Memory Usage
    • Profile Memory with Ruby-Prof
    • Measure Memory Yourself with GC#stat and GC::Profiler
    • Takeaways
  • Measure
  • Test Performance
    • Benchmark
    • Assert Performance
    • Report Slowdowns and Optimizations
    • Test Rails Application Performance
    • Takeaways
  • Think Outside the Box
    • Cycle Long-Running Instances
    • Fork to Run Heavy Jobs
    • Do Out-of-Band Garbage Collection
    • Tune Your Database
    • Buy Enough Resources for Production
    • Takeaways
  • Tune Up the Garbage Collector
    • Understand How Ruby Uses Memory
    • Know What Triggers GC
    • Understand Why GC in Ruby 2.1 and 2.2 is So Much Faster
    • Tune Up GC Settings
    • Takeaways
    • Onward!


Alexander Dymo is an entrepreneur, YCombinator alum, free software developer, and book author. Alexander has built many applications with Ruby on Rails for his two startups and has spent long hours optimizing them. He regularly presents at Ruby, Rails, and Postgres conferences.