~/talk

How to Load 1m Lines of Ruby in 5s

Talkat GORUCO 2017 · on Saturday, 2017-06-24· [ruby]
slides:none on file

Claims reducing cold boot from 35s to 5s by statically analysing a multi‑million‑line Ruby monorepo and generating an autoloader build daemon. Process parses files into an AST, stores metadata in sqlite, resolves nesting and ancestors, preloads gems when static analysis fails, and bans hard‑to‑analyse patterns with rubocop. Outcome includes removing require_relative, a selective test executor that runs <5% of tests for ~25% of CI runs, and codegen hooks to replace metaprogramming and preload production paths.

AI-written summary · about

  1. 0:00Intro
  2. 1:20The Problem
  3. 2:18Synthetic Benchmark
  4. 4:27How to Load Fast
  5. 5:24Autoloader
  6. 9:46Nesting
  7. 10:46Ancestors
  8. 11:23Rough Sketch
  9. 13:58Nesting Example
  10. 14:36Child Resolving Example
  11. 15:31Edge Cases
  12. 16:39AutoLoad
  13. 19:28Required Files
  14. 21:06Autoloader Issues
  15. 21:42Reopening Classes
  16. 23:52What do we use it for
  17. 25:31Project Untangling
  18. 27:36Future Plans
  19. 28:14Conclusion
~/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.