我现在用 win11 写 go 的时候遇到了一个问题
就是长时间(超过 10 分钟)不编译 go 程序,修改了代码后,再次编译会很慢很慢,同样的代码,在 win10 的时候,就很快。不知道是为什么!
1
0o0O0o0O0o 69 天前 via iPhone
windows 编译慢一般都是 windows defender 引起的吧
|
2
mclxly 69 天前
win11 的 wsl 下写 golang ,目前编译没慢过
|
3
sunmoon1983 OP @0o0O0o0O0o 按道理说,win10 中也有 windows defender 呀,但是 win10 中就不慢
|
4
lisongeee 69 天前
windows defender 有个排除目录,添加项目工程目录到这个配置试试
|
5
sunmoon1983 OP @lisongeee 好的,我试试
|
6
sunmoon1983 OP @lisongeee 添加了排除目录也不行啊,编译了超过 3 分钟了,还没完事儿
|
7
YGHMXFAL 69 天前 via Android
@sunmoon1983 #6 关掉 WD 再进去确认一下,WIN 会随机重置你添加得排除目录,我都是关机脚本里再添加一次排除目录来避免失效
|
8
0o0O0o0O0o 69 天前 via iPhone
go 编译会用到 GOTEMPDIR ,默认情况下并不在项目目录,所以只排除项目目录可能无效,你试试手动指定 GOTEMPDIR 并排除
|
9
nagisaushio 69 天前 via Android
之前遇到过,完全关掉 wd 可解
|
10
MooRider 69 天前
同样的 u 吗, 不会 11 给你分配到小核去了吧
|
11
sunmoon1983 OP @MooRider 同一台电脑
|
12
yuhuai 69 天前
我与 10 楼持一样的怀疑,如果你是 intel 13,14 的话,有可能是调度问题,上面提到的 windows defender ,先关了排除变量
|
13
johnwilson 69 天前
我 windows 11 也是编译慢
|
14
guanzhangzhang 69 天前
我 win10 也会,昨天给同事演示,go run main.go &> run.log
然后发现并没效果,ctrl c 后发现日志为空,应该是还没编译完。然后直接手动 run 等日志出来才有效果 |
15
yougg 69 天前
go build -x 看看具体都是哪些步骤慢再来逐个排障
|
16
TangCuYu2333 69 天前 via Android
你是直接 go 命令编译的嗎?我使用 GoLand IDE 编译的话没遇到过这个问题。
|
17
wogogoing 69 天前
旁边的同事就是用的 Win11+Goland 的组合。编译贼久。Windows Defender 设置了排除文件夹也没用。
|
18
ilylx2008 69 天前 1
实时保护关掉可解
|
19
intersect 64 天前
添加了 Defender 排除目录后,编译速度正常。
具体哪些目录,可以在编译的时候用 ProcessMonitor 抓取。 C:\go C:\Users\UserName\AppData\Local\go-build C:\Users\UserName\AppData\Local\JetBrains C:\Users\UserName\AppData\Local\Temp\GoLand |
20
sunmoon1983 OP 谢谢大家,就是 Defender 的锅,彻底禁用它就可以了
|