Haxl: A Big Hammer for Concurrency
summary
Claim: Haxl flips the default from sequential to concurrent and gives automatic parallelism by extracting data dependencies and scheduling breadth‑first. It combines a Haskell library with the applicative do compiler transformation, requires one data type per IO plus a pluggable fetch backend, and builds a per‑request cache that can dump cache as Haskell for replayable unit tests. Haxl runs at scale inside Facebook’s Sigma service and materially improves concurrency, testing, and debuggability.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:11Concurrency
- 2:42Side effects
- 4:19Testing
- 4:44How to test better
- 5:45Mock API
- 6:32Debugging
- 7:46Characteristics of a Big Hammer
- 9:41What is Haxl
- 10:06Haxl Example
- 12:44Parallelity
- 14:50Concurrent
- 15:15How it works
- 20:17Testing and debugging
- 25:28Why did we make Haxl
- 26:26Conclusion
related talks
40mReinventing Haxl: Efficient, Concurrent and Concise Data Access
24mKeeping the flow going: Data-flow oriented workflow systems
38mAccidentally Concurrent
41mWeb Programming with Hoplon
49mThinking in a Highly Concurrent, Mostly-functional Language
35mThe Multi-Threaded Asynchronous Parallel World of Swift
42mHistory of Concurrency
45mBack to Front and Beyond
