~/talk

Staying friendly with the GC

Talkat Oredev 2017 · 2017-11-08..11-10· [web-performance]
speakerdeck:myarichuk
slides:none on file

Practical claims and concrete numbers decide: .Net GC pauses consume up to 63% GC time in an unoptimized import, optimizations using BenchmarkDotNet measurements plus stackalloc and fixed pointers and custom allocators drop GC wait to zero and make a million-document import about 3x faster. Examples include arena and buddy allocators, pooling, unsafe pointers, unmanaged memory with fencing and ref counting, and a RavenDB/Sparrow-style implementation that replaces hot-path heap allocations with deterministic or pooled memory.

AI-written summary · about

  1. 0:00Start
  2. 1:40Garbage Collector: Developer's best friend
  3. 2:34Garbage Collector: Developer's worst enemy
  4. 4:25Logical representation of the managed heap
  5. 6:45GC collection rules
  6. 7:22Trivial Optimizations
  7. 9:54Q3 shades of memory in .Net
  8. 13:04Stack memory - find most frequent status
  9. 19:28Reverse String 3
  10. 22:49Unmanaged Heap - Reverse String
  11. 24:33MEMORY ALLOCATORS
  12. 25:55Memory Allocator Monotonic
  13. 29:01Memory Allocator - Multipool (Buddy System)
  14. 32:11Memory Allocator Considerations
  15. 33:30There is no silver bullet....
  16. 34:29The test
  17. 35:12Performance results
  18. 36:28Increased complexity → More issues
  19. 36:53Buffer overlaps - Electric Fence
  20. 38:42Memory Leaks - Reference Counting
  21. 40:11Memory Leaks/Usage after release - Finalizer
  22. 40:57The moral of the story
  23. 42:55Questions?
~/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.