Making it Fast: The Power of Benchmarking
summary
Shows a concrete Elixir case: an Advent of Code 2D-lights solution first implemented with a map that runs tens of seconds, then reimplemented with Erlang :array and measured with Benchfella. Benchmarks on a tiny synthetic input mislead — map looks faster — but with realistic large ranges the array version cuts runtime (example runs go from ~35s to ~18s). Recommends writing benchmarks early (after working code), keep inputs simplified but representative, and automate snapshots/graphs to catch regressions.
AI-written summary · about
chapters (14)
- 0:00Start
- 0:53I write software...
- 2:07Making it fast...
- 2:17GC optimization, coding tricks, compiler hacks, VM flags, etc
- 2:56fast is a process
- 3:26Benchmarking != Profiling
- 4:02Benchmarking -= Unit Testing
- 6:08When learning a new language / stack...
- 9:22Mutating a giant data structure
- 17:40Benchfella
- 18:47Let's benchmark!
- 20:49Erlang/OTP to the rescue!
- 29:40first • Simplify the inputs
- 30:38Questions?
related talks
46mStop Guessing and Start Measuring - Benchmarking in Practice
02h 44mMeasure, don’t guess: benchmarking stories from the trenches
21mBenchmarking Like a Boss
43mStop Guessing and Start Measuring - Benchmarking in Practice
06mIGNITE: How to benchmark … poorly
19mLisp-like DSL for Benchmarking
27mOn Benchmarking With Ruby
02h 41mMicro Benchmarking - The Art of Realizing One is Wrong
