关于Emacs最近几个版本在windows上的体验变化

你不给点具体的数据,大家光看视频怎么看得出来啊 :angry:

2 个赞

用profiler查下看看启动耗时栈,我加载配了44个包,大多都延迟加载,起来1.3S左右 emacs 31上。

现在居然没有用这个优化吗,是不是为了算行号来着我记得

2.3.0 改的

magit-commit-show-diff is a customizable variable defined in
magit-commit.el.

Value
t

Toggle Set Customize

Documentation
Whether the relevant diff is automatically shown when committing.

This variable was added, or its default value changed, in magit
version 2.3.0.

不知道 我的magit一打开就会diff文件的 打开magit的时候就能看到文件的diff内容 按tab就能展开查看 所以我认为magit一打开就diff了大量文件 我自己重写了对应的函数 也确实有提速 具体有没有得自己去看源码 不过我认为是有的 因为打开magit的时候 列表选项里面就有diff的内容 不是懒加载的

就是官方安装包解压,没加载我的配置。你们的启动都很快吗?和27对比过吗?

你想看什么数据,可以发一下,我看好不好弄

看视频确实很慢,我pc的配置都是7、8年前(2018)的了,还是win11,emas30 -q也看不见卡,不过你视频里启动emacs后输出了一个 “set gc-cons-threshold back to 8000”这个是什么,正常应该没有的吧

比如说启动时的syscall调用数量和时延,打开的文件句柄之类的信息,使用procmon之类的工具就可以监测到。

我没有Windows 10设备用来做测试,我只在XP上跑过emacs24,启动非常快。所以只好麻烦你去收集测试数据了。

一直在windows11上用emacs,没感觉到有什么体验变化,不涉及到magit这种的软件速度都还行

.emacs.el改名了,没有加载,.early-init.el忘改名了,被加载了,不过它里面很简单,如下:

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

(run-with-idle-timer 1 nil
					 #'(lambda ()
						 (setq gc-cons-threshold 800000)
						 (message "=== set gc-cons-threshold back to %d. init time: %s"
								  gc-cons-threshold (emacs-init-time))))

下次系统重启把.emacs.d改名试试

emacs -Q 就行啊,这些残留的配置影响挺大的

有个点要注意下,如果你同时测试多个不同的emacs版本,记得每次都清空下配置目录,好像是会加载不兼容的文件,然后失败回退到el文件去

下次重启系统后再试下