~/talk

The Mechanics of Ruby

Talkat LoneStarRuby Conf 2013 · 2013-08-11..08-13· [ruby]
slides:none on file

Examines MRI internals and makes concrete claims: MRI’s C heritage explains type checks and the global lock, JRuby and Rubinius aim for faster VMs, and many Ruby apps spend surprising time in GC and string buffering. Uses perftools.rb and DTrace to profile a laughable database and a Rails app, finds millions of malloc calls vs ~35k when allocations drop, removes a stray dev dependency and reduced render time from ~1s to ~0.5s, proving measurements and small fixes work.

AI-written summary · about

  1. 0:00Start
  2. 3:11What if we were scientists?
  3. 3:45What if we were prankster scientists?
  4. 6:18Now, we can write some C codes. #include "ruby.h"
  5. 10:37Conspicuously missing
  6. 12:42An procedural code
  7. 12:58An object-oriented
  8. 13:25An DSL-oriented code
  9. 13:40So what's this?
  10. 18:34perftools.rb, a sampling profiler
  11. 20:23All the method calls, a LOL, database
  12. 20:59rack-perftools_profiler
  13. 21:39What your Rails app probably looks like
  14. 22:34A wild, coincidental bottleneck appears
  15. 33:13Read things.
  16. 36:31Take it apart with dtrace
  17. 38:35Hey, I wonder what my Ruby program really does?
  18. 39:29How a bytecode is
  19. 40:02MRI isn't fast because of all the other stuff
~/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.