~/talk

Metaprogramming for the masses

Talkat DotNext 2019 Moscow · 2019-11-06..11-07· [dotnet]
slides:none on file

Shows how to coax the .NET JIT into emitting faster code by using struct strategy types (value-type generics that let the JIT delete dead branches and avoid allocations), a practical code pruning unrolling pattern that removes bounds checks and gives near-manual unroll performance, and swapping an interface-backed matrix for an interface→struct storage swap to recover a ~4x cost. Includes working C# examples, emitted assembly notes, and a repo of experimental allocators.

AI-written summary · about

  1. 0:00Introduction to Metaprogramming
  2. 1:33Metaprogramming in C#
  3. 4:26Performance vs. Maintainability
  4. 7:51Structs and Constants
  5. 13:26Recursive Structural Types
  6. 23:45High Performance Techniques
  7. 29:45Loop Unrolling
  8. 40:30Interface De-virtualization
  9. 51:13Conclusion and Q&A
~/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.