我被迫将Windows 10用于一个项目。是的,我宁愿使用GNU / Linux。为了保持理智,我尝试将Windows视为Emacs的引导程序:)
不幸的是,Magit(我最喜欢的Emacs部分之一,它也弥补了Windows上缺少良好的命令行)的速度令人难以忍受。我有一个SSD,16 GB的RAM和一个四核i7,但是在小型存储库上执行需要八秒钟magit-status
。然后,当我要进行另一个更改时,每个文件大约需要5秒钟。
这是我尝试过的:
$ git config --global core.preloadindex true
$ git config --global core.fscache true
$ git config --global gc.auto 256
- 将整个项目添加到Windows Defender(我唯一的AV)排除列表中
- 设置为
magit-git-executable
我下载的常规msysgit(https://git-for-windows.github.io/)。我检查了一下,git status
这花费了不到1秒的时间。我知道这样magit-status
做的确更多,但这太多了。
任何人都可以提出一些方法来加快速度吗?我无法想象像这样在Windows上使用Magit的人。
有人建议这个问题是重复的,但他们问:
我在努力理解为什么Emacs在Ubuntu上的启动时间比Windows短得多。有人知道答案吗?
我至少知道为什么Emacs,Git和Magit在Windows上速度较慢的一些原因。我在问我如何优化Magit以减少工作量或缓存结果等,即使这是以功能为代价的。
git
从命令行运行等效命令是否存在相同的问题?
magit-git-executable
可能会快一些(in cmd
和bin
实际上是包装器,如果executable-find
返回其中一个,则magit会尝试将其设置magit-git-executable
为“真实” git)。小型存储库需要8秒,这听起来还是有些不对劲,在这里(Windows 8)大约需要0.8s来进行magit的回购。
magit-refresh-verbose
为t
。
git-status
不到1秒?它应该基本上是瞬时的。有没有明显的延迟?