In Go we "just" dedicate a core to GC, problem solved. The arrival of
universal multi-CPU hardware made than option. Some tremendous technical
work required (for which I take zero credit; see
) but yeah.
-rob
On Fri, Aug 2, 2019 at 11:11 AM David Arnold <davida(a)pobox.com> wrote:
On 2 Aug 2019, at 09:43, Noel Chiappa
<jnc(a)mercury.lcs.mit.edu> wrote:
Speaking of LISP and GC, it's impressive how
GC is not really a big
issue any
more. At one point people were even building
special CPUs that had
hardware
support for GC; now it seems to be a 'solved
problem' on ordinary CPUs.
I think it’s mostly a side effect of modern hardware speeds. For
applications that care about latency (and especially latency jitter) it’s
still an issue.
For example, writing low latency trading software in Java requires some
fairly silly hoop-jumping to avoid triggering a collection pass.
These apps genuinely care about nanoseconds, but the tooling ecosystem and
development time advantages of Java seem to entice a decent number of
people to embark on the work-arounds.
In most areas though you’re absolutely right — it’s a non-issue now.
d