~/talk

Ruby Memory Management Hacks

Talkat RubyConf 2009 · 2009-11-19..11-21· [ruby]
slides:none on file

Describes concrete hacks: an OBspace memory profiler that reports per-type memorysize and enables sampling profiles, a change to inline cache and node object handling that cuts garbage collection frequency, OS page aligned allocation to reduce fragmentation, an instruction set tweak that speeds instance variable access, fiber context switch optimized via OS getcontext or machine stack copy, measured speedups including about 2× parallel speedup for simple MVM workloads and a sampling profiler with ~30% overhead and experimental implementations that run today.

AI-written summary · about

  1. 0:00Start
  2. 11:32Solution
  3. 14:36Memory Profiler
  4. 18:03New T_DATA representation (3)
  5. 19:20Statistic Profiler
  6. 19:46Examples (per T_xxx + Stack frame)
  7. 20:13Examples (per Classes)
  8. 20:23Examples (NODE)
  9. 28:50Switching SP with OS features
  10. 29:14Context switch cost (sec)
  11. 29:24Context switch cost (speedup ratio)
  12. 29:59Proc vs. Fiber
  13. 30:39Fiber generation speed
  14. 34:45Challenges
  15. 37:17C Extension
  16. 38:53Evaluation environment
  17. 39:04VM creation time
  18. 39:49Evaluation (ping/pong)
  19. 40:12Evaluation (symbol ping/pong)
  20. 40:48Evaluation (parallel execution)
~/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.