4 ms·
> When a process is running user code, it is not being garbage collected and vice versa That doesn't make it 'not a garbage collector' and it also doesn't make
by dnautics 7y ago
> When a process is running user code, it is not being garbage collected and vice versa
That doesn't make it 'not a garbage collector' and it also doesn't make it 'not concurrent'.
> tuning may be required at the extremes
that is very rare, and if that is disqualifying for a concurrent GC, then Java is disqualified as a concurrent GC.
- jeremyjh 7y agoIt is not "qualified" because the process using a heap is paused while the heap is collected. In a concurrent GC, nothing is paused.
- dnautics 7y agothat's a silly distinction, because if you are running multiple threads on a single CPU, or even multiple threads on multiple CPUs, in most situations, then you're simply pushing the 'pausing' down to the hardware/os which is doing the preemption.
- jeremyjh 7y agoThread preemption has nothing to do with garbage collection pauses. An Erlang process that allocates a lot will spend more time being paused, irrespective of its priority which might otherwise let it run uninterrupted. I'm not going to continue this "argument" further.