有人实际使用mps版本的emacs吗

之前看到这里有发布二进制版本,有人实际体验过吗
具体性能上有什么提升吗?

(话说为啥弄成msix格式,一点也不方便

是scratch/igc分支的emacs吗?Ubuntu 24.04 LTS上编译最新的代码运行正常。

msix也是一个压缩文件,我是用7zip解压的

2 个赞

嗯,有没有明显的性能提升呢。我简单用了下没太大感觉

这我还没注意,我是加了证书,然后安装的

感觉不出来有明显提升,本来3个系统里面,在linux上emacs的运行就是最快的。MPS的主要目的是优化现有的GC策略,为以后支持多线程做准备。

不过MPS编译后的elc文件和master分支上的不太一样,需要把elc文件都删干净了重新编译。

linux上的emacs是测试用的,干活用macOS,没敢在macOS上编译,万一有问题就没法用了。另外我的macOS版本的emacs自己改了一些代码,切到igc分支功能就丢了。

他的证书在哪里能获取?

右键 - 属性 - 数字签名 - 选中后点详细信息 - 查看证书 - 安装证书 - 本地计算机 - 将所有证书放入下列存储 - 浏览 - 受信任的根证书颁发机构

上面这样操作后就可以安装了。当然我觉得楼上说的直接解压开应该也能用,还方便一些

2 个赞

在macOS上编译、安装了MPS和igc分支的emacs,感觉速度稍微快一点,不过内存使用上igc分支的emacs明显比master分支的emacs大。

我的配置启动emacs后master分支的emacs内存为150MB,igc分支的内存为240MB。打开一个org文件后,igc分支内存到350MB左右。master分支还是150MB左右。

在Windows上试用了一下。 凭感觉,似乎快一点点。内存占用更高,200多M。

还有启动时的这个配置可以扔掉了。加不加这个,启动速度一样。

(setq gc-cons-threshold most-positive-fixnum)

(setq gc-cons-threshold most-positive-fixnum) 我还留着,同时还有gcmh这个package在跑。

(setq gcmh-idle-delay 'auto  ; default is 15s
      gcmh-auto-idle-delay-factor 10
      gcmh-high-cons-threshold (* 16 1024 1024))  ; 16mb

你可以去掉试试。 这些gc相关的配置在mps版本里起不到啥优化效果了。

gc参数和gcmh package去掉测试过,不过感觉内存占用更高了。

目前pgtk + mps会crash

macOS上,igc分支的emacs现在运行很稳定。linux上没用pgtk的情况下也很稳定。

mps版本太占内存了,基本380Mb左右的内存。改小了就容易闪退。

我这边写公司代码,不开mps也有405m

有人知道linux怎么编译 scratch/igc版的emacs 吗, 我的理解是先编译 mps 但是 ./configure &&make 就出错。

gmake -C code -f lii6gc.gmk EXTRA_TARGETS="mpseventcnv mpseventpy mpseventtxt mpseventsql"
gmake[1]: 进入目录“/home/jixiuf/repos/mps/code”
gmake[2]: 进入目录“/home/jixiuf/repos/mps/code”
gmake[3]: 进入目录“/home/jixiuf/repos/mps/code”
lii6gc: lii6gc/cool/ss.o
ss.c: 在函数‘StackHot’中:
ss.c:38:13: 错误:storing the address of local variable ‘stackOut’ in ‘*stackOut’ [-Werror=dangling-pointer=]
   38 |   *stackOut = &stackOut;
      |   ~~~~~~~~~~^~~~~~~~~~~
ss.c:36:22: 附注:‘stackOut’在此声明
   36 | void StackHot(void **stackOut)
      |               ~~~~~~~^~~~~~~~
ss.c:36:22: 附注:‘stackOut’在此声明

可以编译过去的,改改代码,最好用github上最新的mps代码。 emacs在./configure --with-mps后,查看log里面是否找到了mps的header文件。编译后在emacs里面 M-x igc开通的看看有没有。

好像在macOS里编译时没这个问题。ubuntu 24.04里编译有。