~/talk

In defence of GVL

Talkat Euruko 2023 · 2023-09-21..09-23· [ruby]
slides:none on file

Argues the global VM lock keeps interpreter code simpler and faster: experiments with fine-grained locks make the VM significantly slower and use more memory. Notes Python’s PEP 703 removes the GIL by using immortalization, biased reference counting, deferred refcount updates, optimistic locking and CAS, and estimates multi-year work with C-API risk. Claims most Ruby workloads are I/O-bound so GVL cost is small, and Ruby uses ractors to run CPU-bound tasks in parallel (the tarai benchmark shows near 4× speedup on multicore).

AI-written summary · about

  1. 0:00Introduction
  2. 0:55What is the Global Interpreter Lock
  3. 2:23GIL necessity for thread safety
  4. 4:35Hardware evolution and concurrency
  5. 7:12Moore’s Law limits and multicore
  6. 10:31Parallelism for performance
  7. 11:36Removing GIL and fine-grained locks
  8. 14:33PEP 703 GIL removal proposal
  9. 16:00Reference counting without GIL
  10. 18:09Eliminating GIL impact strategies
  11. 22:09Fine-grained locks and optimistic locking
  12. 24:45PEP 703 feasibility concerns
  13. 26:13Ruby’s GIL removal need measured
  14. 27:40GIL less problematic for Ruby web apps
  15. 29:29Python vs Ruby motivation
  16. 31:15Introducing Ractors
  17. 32:18Ractors parallel performance demo
  18. 33:26Ruby keeps GIL for now
  19. 34:10Conclusion
~/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.