Clojure Parallelism Beyond Futures
summary
Explains how Clojure futures and pmap actually work: futures use the shared agent thread pool (idle threads evaporate after 60s) and pmap launches roughly #CPUs + 3 tasks and is lazy so a slow first task can stall the pipeline. Introduces claypoole (author’s library) with fixed thread pools, eager streaming sequences, unordered results, correct exception rethrowing, and task priorities; example shows claypoole keeps per-task latency near 5.6 ms versus pmap’s ~7.7 ms in a variable-sleep benchmark.
AI-written summary · about
chapters (7)
related talks
41mParallel Programming, Fork Join, and Reducers
03h 29mConcurrency with Clojure
55mBack to the CompletableFuture: Concurrency in Action
01h 00mProject Loom? Better Futures? What’s next for JVM concurrent programming
48mCompletableFuture: The Promises of Java
48mParallel Streams, CompletableFuture, and All That: Concurrency in Java 8
36mProject Loom
42mProject Loom Update
