~/talk

Pragmatic Performance: When to care about perf, and what to do about it.

Talkat NDC Sydney 2018 · 2018-09-17..09-21· [dotnet]
slides:none on file

Practical rules: measure before changing and measure after, using BenchmarkDotNet to get repeatable results (it runs millions of iterations, warms up the JIT, and reports time and allocation). Examples: string join is 358ns vs an Aggregate at 918ns for small arrays; empty Dictionary is twice as fast and allocates less than using it via an IDictionary interface (boxing overhead); Span<T> beats Substring and .NET Core improves allocations.

AI-written summary · about

  1. 0:00Introduction
  2. 1:30Premature optimization
  3. 4:25Donald Knuth
  4. 5:21Debugging and maintenance
  5. 6:47Coding is about tradeoffs
  6. 8:21Know the context
  7. 13:50Code Profiling
  8. 16:42Benchmarknet
  9. 18:03Demo
  10. 18:22Writing a benchmark
  11. 22:01Baseline
  12. 25:44Benchmarks
  13. 27:58Results
  14. 30:10Whats more important
  15. 32:02Dictionary benchmarks
  16. 32:47Coding standards
  17. 34:29Loops vs Link
  18. 35:49Link has other benefits
  19. 37:05Substring vs Span
  20. 38:16Span vs substring
  21. 39:34Swapping out components
  22. 40:20The perfect performance story
  23. 42:21Summary
~/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.