Ruby Performance Optimization

Why Ruby Is Slow, and How to Fix It

by: Alexander Dymo

Published 2015-11-23
Internal code adrpo
Print status In Print
Pages 200
User level Intermediate
Keywords ruby, rails, performance, optimization, profiling, memory, garbage, collector, CPU, measurement
Related titles

Programming Ruby 1.9 & 2.0 (4th edition): The Pragmatic Programmers’ Guide by Dave Thomas, with Chad Fowler and Andy Hunt
Agile Web Development with Rails 4 by Sam Ruby

ISBN 9781680500691
Other ISBN Channel epub: 9781680504583
Channel PDF: 9781680504590
Kindle: 9781680501674
Safari: 9781680501681
Kindle: 9781680501674
BISACs COM051410 COMPUTERS / Programming Languages / Ruby
COM051440 COMPUTERS / Software Development & Engineering / Tools
COM051440 COMPUTERS / Software Development & Engineering / Tools

Highlight

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.

Description

This is the first book ever that consolidates all the Ruby performance optimization advice in one place. It’s your comprehensive guide to memory optimization, CPU optimization, garbage collector tuning, profiling, measurements, performance testing, and more.

You’ll go from performance rookie to expert. First, you’ll learn the best practices for writing Ruby code that’s easy not only on the CPU, but also on memory, and that doesn’t trigger the dreaded garbage collector. You’ll find out that garbage collection accounts for 80% of slowdowns, and often takes more than 50% of your program’s execution time. And you’ll discover the bottlenecks in Rails code and learn how selective attribute loading and preloading can mitigate the performance costs of ActiveRecord.

As you advance to Ruby performance expert, you’ll learn how to profile your code, how to make sense out of profiler reports, and how to make optimization decisions based on them. You’ll make sure slow code doesn’t creep back into your Ruby application by writing performance tests, and you’ll learn the right way to benchmark Ruby.

And finally, you’ll dive into the Ruby interpreter internals to really understand why garbage collection makes Ruby so slow, and how you can tune it up.

Contents and Extracts