~/talk

Dressed up performance in Clojure

Talkat re:Clojure 2021 · 2021-12-03..12-04· [clojure]
name:Ben Sless
links:none on file
slides:none on file

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

  1. 0:00Introduction
  2. 0:25Premature optimization
  3. 1:32Naked performance talk
  4. 2:47Where is your problem
  5. 3:10Embrace JVM
  6. 6:06Profile
  7. 6:22Flame graphs
  8. 8:04Benchmarking
  9. 11:59cljfast
  10. 15:15abc
  11. 21:46Future
~/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.