Building RailsPerf, a toolkit to detect performance regressions
summary
Practical account of building RailsPerf: a per-commit regression detector that runs per-commit benchmarking against Rails using a suite of microbenchmarks (ActiveRecord, ActionController, router, views), measuring timings and allocations, isolating runs with docker isolation, and posting results back to GitHub. Prototype embeds into ruby-bench, runs on dedicated hardware, has ~10–20 Rails benchmarks, contributes to ~250k builds, and already identifies regressions that get fixed the next day. The repo, CI flow, and visualization are all implemented.
AI-written summary · about
chapters (16)
- 0:00Start
- 0:12Building a toolkit to detect performance regressions in Ruby on Rails core
- 0:47Catching Performance Regressions in Rails
- 1:27What's a performance regression?
- 1:46What's a performance regression in Rails?
- 2:16Case Study
- 2:33Discourse
- 3:53Faster framework = Faster app
- 4:23Examples from Rails commits
- 4:35Metrics
- 5:36Basic primitives
- 11:54Optimize only "hot" code
- 12:46The Idea to build a service
- 16:57Correct benchmarks
- 19:00The Service
- 24:28250k builds for Ruby
related talks
26mRails Performance Monitoring 101: A Primer for Developers
37mThe Future of Ruby Performance Tooling
21mBuilding a Performance Analytics Tool with ActiveSupport
30mRails Performance monitoring: A primer for developers
01h 02mPerformance
35m"10 performance sins of Rails applications"
29mUpgrading Rails at Scale
28mRESCUE SQUAD: Rails Edition!
