Performance as a First Class Feature with NBench
summary
NBench is a .NET test framework that treats performance as a first class feature, letting CI run performance specification assertions and build a performance history. Applied to Akka.NET it exposes real numbers: a regress caused throughput to fall to ~2400 messages/sec, a custom thread‑pool rewrite raises it to ~8–9k, and further fixes hold it steady. Microbenchmarks show a parser doing ~597k–700k ops/sec, ~332 Gen0 GCs per run and Gen2 allocations at zero, with battery power shaving throughput modestly.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 0:35Performance as a Feature
- 3:11akkanet
- 4:41The conversation
- 5:16The endless conversation
- 5:56What is NBench
- 6:39Results of NBench
- 9:22Defensive Programming
- 11:47Performance Lifecycle Management
- 15:06Performance History
- 16:33NBench
- 17:06Why is this hard
- 17:19Challenges
- 19:56Runtime Dependencies
- 22:15NBench API
- 23:57Why NBench
- 24:35NBench Spec
- 27:50NBench Benchmark
- 36:01NBench Benchmark Types
- 38:37NBench Performance History
- 41:48OS Variance
- 43:49Performance Tests
- 47:04Questions
- 49:59Measure HyperThreading
- 52:08EndBench
related talks
49mPerformance Testing
28mPerformance is a Feature It Should Be Tested as Such
21mBenchmarking Like a Boss
02h 44mMeasure, don’t guess: benchmarking stories from the trenches
29mJava Performance Testing for Everyone
34mPerformance tests with Gatling
46mStop Guessing and Start Measuring - Benchmarking in Practice
44mPractical guide to performance Benchmarks
