~/talk

Tweaking Ruby GC Parameters for Fun, Speed, and Profit

Talkat RailsConf 2016 · 2016-05-04..05-06· [ruby]

Upgrading and tuning Ruby GC actually changes measurable behavior: compiled Ruby from source, exported GC environment variables and deployed tuned heap_init_slots, malloc_limit values, and measures with New Relic and ab. Garbage-collection frequency drops (example 80→40 GC runs), object allocation differs massively between environments (13,000 vs 94,000 objects), and time spent in GC and web latency fall by milliseconds to low-double-digit percent gains. Tests use staged data to reproduce production GC pressure and iterate change → measure → analyze.

AI-written summary · about

  1. 0:00Intro
  2. 3:14Why I am here... GC
  3. 5:44A brief history about Ruby GC
  4. 7:28Ruby 1.8: Simple Mark & Sweep
  5. 8:10Ruby 2.0: Bitmap Masking (Cow)
  6. 10:40GC Parameters: ruby 2.0.X
  7. 11:20GC Parameters: Ruby = 2.1.X
  8. 15:09Me: measuring & tuning
  9. 22:48Change, Measure & Analyze
  10. 27:55Ruby 2.0.0 vs Ruby 2.1.7
  11. 30:14Ruby 2.1.7 before vs after
  12. 31:25Ruby 2.2.3 before vs after
  13. 32:32Ruby 2.1.7 vs 2.2.3 (after)
  14. 37:21Some of my findings
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.