~/talk

How I Made Immer Twice as Fast: Performance Optimization in Practice

Talkat JNation 2026 · 2026-05-26..05-27· [javascript, web-performance]
slides:none on file

An investigation of Immer finds micro fixes (caching constructor lookups, switching reflect.keys to object.keys, early frozen checks) that yield about +18% across benchmarks, a large architectural rewrite of finalization that adds roughly +5%, and an optional array plugin that bypasses proxies to remove huge read-path overheads; overall scenarios improve between 5% and ~75% (not a universal 2x). Work uses benchmarking with mata, CPU profiles via pprof/poff, Chrome DevTools and SpeedScope, and ships changes in 10.2, 11.0 and 11.1.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 3:38What is Immer and why it matters
  3. 7:54Why Immer became slow over time
  4. 16:10Performance investigation principles
  5. 25:46Debugging Immer with benchmarks
  6. 30:28Profiling and hotspots in Immer
  7. 36:12Techniques used to optimize Immer
  8. 39:50My day job at Replay
  9. 44:27Call to action and closing
~/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.