Retrofitting Concurrency – Lessons from the Engine Room
summary
OCaml 5.0 brings native concurrency and parallelism and ships effect handlers as the language-level mechanism; the Multicore design uses per-domain minor heaps with a concurrent major GC after abandoning an initial read-barrier scheme that broke CFFI. The memory model has only atomic/nonatomic locations with DRF-SC and shows <1% overhead on x86. Tooling includes Sandmark continuous benchmarks, OPAM health checks, RR record/replay, ThreadSanitizer support and always-on CTF tracing; the async IO library competes with Go/Rust.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:52In the year 2014...
- 2:47Eliminate the runtime lock
- 3:09Retrofitting Challenges ~ Approach
- 5:25Parallel Allocator & GC
- 6:15Access remote objects
- 11:10Back to the drawing board (~2019)
- 12:44Data Races
- 13:48Second-mover Advantage
- 15:45OCaml memory model (~2017)
- 17:43Concurrency (~2015)
- 24:03Ease of comprehension ~ Impact
- 26:59Care for Users
- 28:27Benchmarking
- 31:52Invest in tooling
- 36:36Growing the language
- 37:29Where do we go from here?
related talks
19mConcurrent Data Structures Made Easy
01h 02mFishbowl @ Functional Conf
25mResponsive Parallelism with Synchronization
33mChanneling the Inner Complexity
48mStructured Concurrency: Writing Safer Concurrent Code with Coroutines...
32mFrameworks: No, Libraries: Yes. Developing a product in OCaml from Scratch
01h 21mStructured Concurrency
44mSpearheading The Future of Programming
