只装了个关闭所有防护功能的火绒
而且我只有加载lsp-bridge这几个猫哥开发用到了外部python的插件才慢,要是不加这几个插件,秒开不卡
用 python-bridge 试了一下,我也卡,估计是 emacs 创建子线程的时候卡了
不过不太清楚是 tcp 连接的时候卡,还是进程创建整个都卡,我觉得应该是 network 连接的问题
Emacs Windows 版本是通过mingw/cygwin 库已知的,天生对于底层调用就有损耗,尤其是对于IO操作。小文件读写尤其明显。我认为问题不在Windows本身,可能是出在中间lib上。
今天看大佬的配置发现有 w32-use-native-image-API 这种东西。对于其他操作我感觉也可以这样改进。有时间研究下
嗯,可以看我发那个issue,很明确是网络连接的问题。python子进程1秒内就创建好并发起连接了。
不过看另一个帖子里面,有老哥提到在他的某台电脑上不卡,玄学
回家用自己电脑会卡,系统是 Windows11 专业版,公司的 Windows10 企业版不会卡,应该是网络连接问题,但是不知道是哪个设置负责的
这样看来,我感觉几个可能造成影响的地方
1 系统代理设置
2 某个环境变量和网络相关
3 代码内部对dns进行了解析,之前看文章有提到,emacs中网络相关的操作都是异步的,但是dns除外
大佬厉害了,应该就是 dns 的问题,把代码中出现 localhost 的地方改成 127.0.0.1 就不卡了,你可以试一下
可以的,解决了,不容易哇,
等猫哥把几个项目都修复下就爽了
说句题外话。 大佬六点钟起来改bug,真的佩服。
同样是 localhost 导致的问题,做个补充
需要把emacs放到哪个排除项里啊?我没找到windows defender哪里可以设置排除项?我的emacs在windows下第一次启动,最快也要快20s了。一直找不到原因。
肯定不正常,在windows上我现在1秒启动,而且马上能用
我的配置 GitHub - heheda123123/emacs.d
用的git上最新commit的emacs
杀软用的火绒,
defender的话,好像叫排除项 还是白名单,可以从设置里面安全中心进去
找到了,谢谢;
写了个总结, Windows 下在 emacs 中使用 localhost 导致的连接创建卡顿以及解决方法
- 直接原因是 Windows 10 中
loaclhost
首先被解析为::1
,随后才轮到127.0.0.1
,这使得127.0.0.1
需要在::1
经过几次失败尝试后才被使用 - 如果服务端支持双栈(dual stack),使用
localhost
是可以的,但一般的本地程序可能不会考虑到这一点