~/talk

Game of Loom: implementation patterns and performance implications playing with

Talkat Jfokus 2023 · 2023-02-06..02-08· [java, concurrency]
slides:none on file

Implements Conway’s Game of Life with CSP channels and measures performance with JMH, flame graphs and ForkJoinPool carriers; virtual threads remove the one‑to‑one OS mapping so 1,000–5,000‑cell runs show ~7× higher throughput and native runs hit ~50,000 kernel context switches while virtual runs show ~10. Virtual stacks are GC‑managed, thread‑locals explode memory, pinning causes carrier blocking, and a hand‑tuned single‑value channel from Francesco yields ~2.5× speedup over the original queue.

AI-written summary · about

  1. 0:00Intro
  2. 0:52What virtual threads are...
  3. 10:05Virtual threads are syntactic sugar for reactive programming
  4. 18:27(Possible) issues with Virtual Threads
  5. 32:50Benchmarking Game of Life
  6. 35:54Native vs. Virtual Threads - Benchmark Results
  7. 37:12Mixed-Mode Flame Graphs
  8. 39:10Native Threads Execution
  9. 39:52Virtual Threads Execution
  10. 41:19Native vs. Virtual Threads - Context Switch
  11. 48:20Thread per cell vs. Thread per core - Benchmark results
~/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.