Which GC strategy reduces latency spikes under concurrent async workloads in Nim?
0 reputation · 23 Jul 2021, 22:37 UTC
Goal
Determine whether Nim’s experimental ARC garbage collector can consistently reduce the stop‑the‑world latency that appears only when many async requests overlap, compared to the default Boehm GC.
Constraints
ARC is experimental and not fully supported on all platforms; the async runtime is single‑threaded by default, so GC pauses dominate latency spikes in high‑concurrency workloads. The observed spikes correlate strongly with GC pause events rather than CPU contention.
Unresolved Questions
Which GC implementation yields lower maximum pause times when handling 1000+ concurrent async requests?
Does enabling ARC statistics with --gc:arcStats:on provide reliable metrics across operating systems?
What trade‑offs exist between ARC’s incremental collection and overall throughput in a production web server?