[他们在说啥……] STatus of MPS branch

最近在 emacs-devel 邮件列表中看到这个,

https://mail.gnu.org/archive/html/emacs-devel/2024-04/msg00434.html

他们在说啥,有没有大佬愿意给普及一下?

1 个赞

GC方法…总的来说,如果你追新的话,这玩意儿合并了,macOS,Linux在延迟上应该都有一些提升(GC不会卡人了)

2 个赞

我记得中间有一个邮件是解释这个东西的,可以在 emacs weekly news 中找也行

把所有的記憶體分配轉到英國傢伙的MPS為了incremental gc的目的.

就是用这个支持并行的开源 GC 实现替换 Emacs 自带的 GC

https://www.ravenbrook.com/project/mps/

问题在于,实现替换成功用的是一个超级魔改版的 Emacs,

主要区别是把 Emacs 原来的 obarray 改成了 Common Lisp 的 package,然后这个 fork 的作者自己只在 macOS 测试过,并且为了方便删了对一些冷门平台的支持代码,由于分支了有一段时间,之前不确定能不能在官方的分支实现。因为觉得对 Emacs 未来发展有价值,这个 fork 的作者就在 emacs-devel 号召 back port 到官方分支。目前在官方 Emacs 版本验证后的结果是为了保证对 Win95 这样不支持 pdumper 的平台兼容,得清理并重写一遍相关遗留代码,集中在 pure storage,也就是在魔改分支已经删掉的部分上

预计不会有很夸张的性能提升,所谓的实验成功只是 emacs 能编译并启动,主要还是为以后可能的多线程打基础

6 个赞

老风扇能comment一下吗?@oldosfan 我记得很久之前老风扇打算做increamental gc但是因为开发Android port一直没时间弄 :melting_face:

https://git.savannah.gnu.org/cgit/emacs.git/log/?h=scratch/igc

看这个分支吧

我看 emacs-devel, 好像 emacs-x 可以编译了,不过我感觉这个分支目前主要用于探索