12 ms·
> mental overhead that is removed by GC and it is replaced by GC when your program behaves unexpectedly because, whoopsie, that's the one time the GC decided
by JudgeWapner 7y ago
> mental overhead that is removed by GC
and it is replaced by GC when your program behaves unexpectedly because, whoopsie, that's the one time the GC decided to run. Good luck debugging or even reproducing that.
- farisjarrah 7y agoJust run your program normally and use eBPF/bpftrace with something like a flamegraph to track your system and its GC. This isn't an easy problem by any stretch of the imagination, however, it is a solved problem.
- ernst_klim 7y ago>that's the one time the GC decided to run. Good luck debugging or even reproducing that. GC usually runs on allocations, so it's quite predictable. The amount of time spent on collection is pretty much as indeterminate as the time spent on malloc/free.
- fouric 7y agoWhen will a correctly-implemented GC ever alter your program's functional correctness, aside from timing-related bugs that aren't fixed by manual memory management either?