Dressed up performance in Clojure
summary
Argues Clojure performance improves by targeting micro hotspots with concrete changes: use flame graphs plus clj-async-profiler, criterium and JMH to find and measure problems; eliminate indirection (invoke map vs RT get) and unnecessary allocations; unroll small arities and close over known values at compile time via macros so call sites become monomorphic. Reports concrete wins: 2–5x speedups (select-keys 3–4x, get-in unrolled 2–3x, array clone 3x faster with JIT) and shows when 200 ns matters on sub‑600 ns hot paths.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:25Premature optimization
- 1:32Naked performance talk
- 2:47Where is your problem
- 3:10Embrace JVM
- 6:06Profile
- 6:22Flame graphs
- 8:04Benchmarking
- 11:59cljfast
- 15:15abc
- 21:46Future
related talks
34mPredictably Fast Clojure
23mPractical Clojure Profiling in Production
43mDoing Data Science with Clojure
37mClojure Remixed: Pyroclast Data Processing
49mA whirlwind tour of functional programming in Clojure
43mSimple ideas with huge impact from Clojure and Rama
01h 15mEffective Programs - 10 Years of Clojure
34mClojure by neophyte
