Go build 突然變得很慢?
最近在 Windows 更新之後不知道為甚麼 go build 變得很慢,我在想會不會是因為我的 SSD 快要死了所以讀寫速度掉不少,於是有一天我終於忍不住去跑 Crystal Disk Mark 好像沒啥問題的樣子 所以我就在想,會不會是 Go compiler 的 cache 問題,於是用以下 command 把 go cache 的 folder 換到一只直插 PCIE 的 SSD 上面 > go env -w GOCACHE=E:\tmp\gocache > go env GOCACHE E:\tmp\gocache cache 有出現在快 SSD 上,所以是有改成功 結果還是很慢。而且 go compiler 的 CPU usage 也卡在 10% 左右,然後我就注意到,另外大約 70% 的 CPU usage 都是被其他東西吃掉的。被甚麼吃掉? 幹你的 Windows Security 幹你的又是 Windows Security。它對 Go compiler 產出來的每個 binary cache file 掃描,這樣不慢才怪。Windows 自 Win7 之後從來就沒好過,要不是我間中要打遊戲我一早就換去用 Linux 了。 所以知道原因之後要解決就很簡單,就是去 Windows Security > 管理 把即時保護設定關掉 然後 go build 就回復到正常 build 速度了。