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