this plateau.=C2=A0 Luckily for us, Emacs is far from the only one: very fe=
w
programs nowadays know how to take advantage of the extra compute power.
But I see no way to make Emacs take much advantage of parallelism, other
than in completely separate tasks written in other languages
(e.g. a separate executable scanning all a project's files in parallel)=
.
All I was pointing out is that this discussion is about concurrency and
not parallelism.
An=
d that's a very important distinction to make. I think most of the resi=
stance to the concurrency branch in Emacs comes from the fact that it uses =
OS parallelism primitives such as threads and mutexes to implement cooperat=
ive concurrency.
Parallelism indeed appears to be impossible for =
the foreseeable future; it would require almost a complete rewrite of Emacs=
. Cooperative concurrency, on the other hand, has a much more limited impac=
t.
I'd suggest to adapt the terminology accordingly: "th=
read" *can* of course mean "cooperative userland thread", bu=
t for most programmers it has come to mean "OS-level parallel thread w=
ith preemptive kernel-level scheduling". Should we avoid this term and=
use "coroutine" instead?