Busting Performance Bottlenecks: Improving Boot Time by 60%
summary
Claims a 60%+ startup speedup by building a file/constant and bytecode cache and by optimizing Bundler. Uses the boot snap gem to cache Ruby instruction sequences via Ruby iseq, replace YAML with Marshal/messagepack for config fixtures, and override require/load to eliminate O(n^2) lookups. Bundler work in Bundler 1.15 cuts its startup from ~1s to ~300ms; a monolith drops from ~25s to ~6.5s. Timing helpers and Gantt charts find hotspots; changes are implemented and show reproducible wins.
AI-written summary · about
chapters (11)
- 0:00Introduction and speaker intro
- 1:47What is application boot time
- 6:01Areas of impact in boot time
- 8:09How boot snap caching works
- 12:04Caching serialization and config
- 15:17Bundler performance optimizations
- 20:59Finding inefficiencies with timing tools
- 27:30Demo of timing helpers and Gantt charts
- 32:16Methodologies for performance tracing
- 33:21Open source contributions and call to action
- 36:41Q&A on boot snap and production use
related talks
30mDevelopment Speed Optimizations in Rails 8
41mProfiling to make your Rails app faster
29mHow to Performance
01h 02mPerformance
01h 15mSpeedupRails, Speedup Your Code
50mHow To Make Your Application Start Faster
41mSpeed up Rails, Speed up Your Code
32mLightning Fast Deployment of Your Rails-backed JavaScript app
