Golang Go语言中,为什么 win10 下编译很慢,大概 6s,在 Linux 很快?

发布于 1周前 作者 phonegap100 来自 Go语言

Golang Go语言中,为什么 win10 下编译很慢,大概 6s,在 Linux 很快?

go version go1.13.4 windows/amd64


rt

11 回复

大概是因为 win 开进程比较慢吧(
这种先在*nix 上设计的工具都是一键开一堆进程的

更多关于Golang Go语言中,为什么 win10 下编译很慢,大概 6s,在 Linux 很快?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


有有效的解决方案嘛?

我也遇到这情况, 一楼说的好像很有道理, 我关了火绒略微快了一点但实际没什么区别

https://stackoverflow.com/questions/52864354/go-commands-run-slow-on-my-windows-machine-and-fine-on-my-linux 随手搜到个提了 build cache 的东西
https://stackoverflow.com/questions/32062493/golang-is-slow-in-windows

插眼坐等标准答案… 我也想知道…

等标准答案为啥不自己 profile 或者把环境描述清楚提 issue 呢……

楼主试下把杀毒软件关了,看会不会快

没有杀毒软件

如果编译时有个 Antimalware Service Executable CPU 占用偏高(占满一个核心),就是自带的 Windows Defender 的锅。这货会在编译过程中,对生成的中间文件或可执行文件进行检查,但这货是个单线程的,检查效率不高,并且检查文件时会锁死文件,编译器必须等他干完活才能继续。
如果实在受不了,可以试试把工作目录加到他的排除目录中。

别用 Windows 生产就行

在 Win10 下装个 WLS 编译试试

快了一点,1s 左右

作为IT领域Go语言方面的专家,对于您提到的Golang(Go语言)在Windows 10下编译速度较慢,而在Linux下编译较快的问题,以下是我的专业解答:

首先,Go语言编译器在Windows和Linux平台上的性能确实可能存在差异。这主要是因为不同操作系统的文件系统、进程调度和内存管理机制等底层实现有所不同,从而影响编译器的运行效率。

其次,Windows 10平台上的防病毒软件或其他安全工具可能会对编译器进程进行实时监控和扫描,这在一定程度上会增加编译时间。而Linux平台通常较少受到这类安全软件的干扰。

此外,编译速度还可能受到项目依赖、编译器版本和编译选项等多种因素的影响。如果Windows 10上的Go项目依赖较多或使用了较旧的编译器版本,也可能导致编译速度较慢。

为了优化Windows 10上的Go语言编译速度,建议尝试关闭不必要的后台程序和安全软件,更新到最新的Go编译器版本,并合理利用Go语言的并行编译和缓存机制。同时,也可以考虑在Linux平台上进行编译,以充分利用其性能优势。

回到顶部