Hasty Briefsbeta

Bilingual

A sub-millisecond GC for .NET?

a year ago
  • #.NET
  • #Performance
  • #Garbage Collection
  • Introduction of Satori, an experimental Garbage Collector (GC) for .NET, showing significant performance improvements.
  • Key improvements include 50x better median pause time, >100x better 99th percentile pause times, and 3x better heap size.
  • Garbage collection is crucial for memory management in high-level languages like C#/.NET, Java, and Go, but not in lower-level languages like Rust and C/C++.
  • GCs can cause disruptive 'stop the world' pauses, affecting application performance, especially in high-throughput scenarios.
  • Historical evolution of .NET GC from Workstation GC to Server GC, with innovations like Concurrent and Background GC.
  • Comparison with other ecosystems, notably Go's GC, which offers extremely low pause times, sparking envy among .NET developers.
  • Satori GC, developed by Vladimir Sadov, promises sub-millisecond pause times, making it competitive with the best in the industry.
  • Performance benchmarks show Satori drastically reduces GC time percentage and improves allocation rates and pause times across percentiles.
  • Instructions provided to try Satori include building apps targeting .NET 8.0, publishing in self-contained mode, and replacing specific DLLs.
  • Encouragement for developers to test Satori in their workloads and provide feedback to influence its development and prioritization.