~/talk

Make your custom .NET GC — "whys" and "hows"

Talkat DotNext 2018 Moscow · 2018-11-22..11-23· [dotnet]
slides:none on file

.NET Core exposes Local GC so a custom GC library can replace the runtime GC by setting an environment variable and implementing the GC API (the GC version info and pointers to interfaces, ~75 methods for IGCHeap, handle manager, etc.). A minimal 0 GC uses VirtualAlloc and calloc to return zeroed native memory per object and survives 24k requests but leaks to ~300 MB; a bump-pointer allocator using 16 MiB segments reduces leak to ~200 MB and hits ~600–700 req/s.

AI-written summary · about

  1. 0:00Intro
  2. 0:43Why custom NET GC
  3. 6:19Current implementation
  4. 9:18Hosting
  5. 11:50Tuning
  6. 15:17Usage
  7. 18:57Implementation
  8. 23:43Zero GC
  9. 30:45Repository
  10. 38:02Bump Pointer
  11. 43:46Allocation Contexts
  12. 47:11Why it works
  13. 51:57Next steps
~/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.