[投票] 你开启 native-compilation 特性了吗?

windows用户可以从这里下载封装好的包 Releases · kiennq/emacs-build (github.com)

具体介绍: EmacsWiki: Gcc Emacs

1 个赞

确实是这样的。

最近又把window manager切换回exwm,所以又重新试用了native comp。在exwm下native comp的效果还是很明显的。感觉开启后卡顿大大减少

3 个赞

我感觉很明显啊,特别是用magit的时候,之前总是一卡一卡的,现在特别流畅,你说的那些缺点对我来说没有影响,毕竟配置只是一次性的,平时使用的流畅度才是重要的

我已经有三个月没用 native-compilation 了,Emacs 29 以后在 Windows 上都很快了,用起来很流畅。

至于 magit,在 Windows 上本来就是慢的(在 Linux 上,一直都是快的),用了 native-comp 也还是慢。

3 个赞

关闭了native-compilation,开启后从未感觉快,只有无穷无尽的卡顿。 我也不清楚这个native-com有什么用处,elisp要多快啊,需要速度那就用external module呗。

2 个赞

你好,你在windows上用的29是官方发布的预览版还是自己编译的版本?

我都是用的自己编译的。目前用的 Emacs 30

在线求分享啊

自己在 Windows编译 Emacs 29 只要安装 msys2, 按 Emacs 官方文档安装依赖,然后编译安装就好了。 https://git.savannah.gnu.org/cgit/emacs.git/tree/nt/INSTALL.W64?h=emacs-29

我是自己准备了一个脚本,有 mingw64 中执行一下,就可以自动编译安装好 Emacs到指定的位置。

老哥在win下打开多个项目,多个buffer,会出问题吗?之前我在win用doom会有问题,不记得是打开文件数量太多还是什么的提示

没什么问题。我一直在 Windows 上用 Emacs。不过我没用 Doom,用的自己的精简配置。

现在最新发布的 29.1, 可以这样在 early-init.el 中设置,就不会用 native-comp了:

(setq native-comp-jit-compilation nil)
2 个赞

对,但是对于老版本还是只能用 (setq native-comp-deferred-compilation nil)

再提一个直接点的方法。今天把 Emacs 的数据目录(就是elpa这些东西,recentf,eshell history,…)从金士顿的 ssd 挪到了三星 980pro,启动速度从六七秒提高到了四秒多

1 个赞

钞能力,哈哈

升级到了emacs29,还是使用emacs-plus,但是看issue说29+的native comp 有问题,所以emacs 29 不再启用native comp。

目前看起来除了启动速度变慢(0.36s 到 0.5s 慢了0.14s)以外;性能没有任何可感知的差异。

请问怎么关闭呢??
只能在编译Emacs的时候去掉这个选项吗?
我被 native-compile 困扰了好久, 导致一直无法使用 28及以上版本

我从28升29当然是卸载了重新编译的。。。另外nativecomp不是默认开启的,你不应该因为被这个理由困扰就不升级啊?

不是不升级, 是升级不了