~/talk

High-performance code design patterns in C#

Talkat .NET Fest 2019 · 2019-10-25..10-26· [rust]

Proposes a named set of performance patterns for modern C# and .NET: Span<T> and Memory<T> for zero-copy slicing, ArrayPool and object pooling to cut allocations (benchmarks show almost twice faster than new-array baselines), stackalloc-backed buffers that beat pooling by over 50%, a struct-of-arrays layout that can be ~10× faster for hot loops, and buffer/builders (value string builder) that drop GC time from ~70% to ~10% while greatly raising throughput.

AI-written summary · about

  1. 0:00Start
  2. 1:15What Is High Performance in C-Sharp
  3. 4:37Design Patterns
  4. 10:39Array Pool
  5. 13:42Abstract Memory Pool
  6. 24:02Struct of Erase
  7. 27:52Sequential Layout
  8. 29:16Object-Oriented Design Patterns
  9. 31:54Stack Based Data
  10. 39:43Fixed Size Buffers
  11. 42:07Buffer the Builder
  12. 43:20String Builder
  13. 46:19Value String Builder
  14. 46:29Ref Struct
  15. 46:50Initial Buffer
  16. 49:58Questions
  17. 51:39Is There any Point When We Should Stop Optimizing Dotnet Code and Just Write Nice that Not Compatible C + + Library
~/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.