~/talk

Ruby3: What's Missing?

Talkat Ruby Hack 2019 · 2019-04-04..04-05· [ruby]
slides:none on file

Ruby 3 targets concrete wins: generational and incremental GC plus object compaction reduce pause times and return pages to the OS, lowering memory use; MJIT compiles bytecode to C and shows a 2.8× speedup on a CPU‑bound NES benchmark but slows some Rails workloads; a lightweight JIT and a staged compiler plan aim to fix that; concurrency work introduces isolated object spaces (guilds) and cooperative auto‑fibers for CPU and I/O separation; static typing via RBS/RBI plus a TyProfiler (abstract interpretation) generates type signatures.

AI-written summary · about

  1. 0:00Start
  2. 10:32Memory is the First Bottleneck
  3. 10:42GC Improvement
  4. 11:25Generational GC
  5. 11:55Reduce GC Time
  6. 13:58Incremental Generation Support
  7. 14:11Reduce GC Pause Time
  8. 16:38Short-Life Hypothesis
  9. 17:23Avoid malloc for Short-Life Objects
  10. 18:12Object Compaction
  11. 19:47Total Memory Consumption
  12. 19:57Mostly Moving Compaction
  13. 20:13Explicit Compaction
  14. 20:41Memory is not the only Bottleneck
  15. 20:56Just-in-Time Compiler
  16. 21:08Compile Ruby bytecode to C
  17. 21:21Dynamic Loading
  18. 22:59Too Many Methods • Memory Bottleneck
  19. 24:30The Other Way to Improve Performance
  20. 24:40Web is a Multi-Core Aware Architecture
  21. 24:50Falcon (Multi-Fiber)
  22. 25:00Concurrency is the key to the Future
  23. 25:13Global Interpreter Lock
  24. 25:38New Concurrency Model
  25. 26:35WebWorkers or Isolate in JavaScript
  26. 27:27Far Easier than Threads
  27. 28:12How about Bigger Teams/ Projects?
  28. 29:25Python3: Type Annotation
  29. 30:49Static Type Components
  30. 31:09Type Definition Syntax (rbi)
  31. 31:23Separate File That Describes Types
  32. 31:55A Tool to Generate Type Database
  33. 32:09Type Definitions for Libraries
  34. 32:24Standard Libraries
  35. 33:26Find Conflicts with Type Definitions
  36. 34:17Static Type Checker
  37. 34:27Sorbet from Stripe
  38. 34:51Use rbi Type Definitions
  39. 36:00Without any type annotations (if you don't like)
  40. 36:19Remember the Goal of Ruby is "To Make Programmers Happy"
  41. 36:32Better Concurrency Support
  42. 37:22Frozen String Literals
  43. 39:12And Not Work Well With Static Types
  44. 39:24Only Major Incompatibility Change
  45. 40:06Not Regular Expression
  46. 41:15To Sustain Our Lives
~/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.