This post speculates on the possibilities and challenges of implementing a multi-threaded Emacs with fine-grained concurrency. It discusses the differences between concurrency and parallelism, and argues for the use of level 3 parallelism for safety and ease of use. The post also explores the requirements for a parallel Emacs implementation and proposes ideas to address the challenges of shared memory, buffer locals, and variable sharing. It concludes by questioning the trade-offs and potential benefits of a multi-threaded Emacs.

11m read timeFrom coredumped.dev
Post cover image
Table of contents
The Threading libraryConcurrency vs parallelismWhat level of parallelism do you want?A jumping off pointCan you pass the buffer please?Cutting down initializationGoing GreenSo where does that leave us?

Sort: