【发布时间】:2019-03-22 16:36:53
【问题描述】:
我不知道其他人是否遇到了这个问题。我有这个 main.go 文件:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
当我运行 go build 时,运行它需要 5 秒(不管是我第一次运行它还是第二次运行它)
PS> Measure-Command {Start-Process go build -wait}
Days : 0
Hours : 0
Minutes : 0
Seconds : 5
Milliseconds : 151
Ticks : 51514117
TotalDays : 5.96228206018519E-05
TotalHours : 0.00143094769444444
TotalMinutes : 0.0858568616666667
TotalSeconds : 5.1514117
TotalMilliseconds : 5151.4117
但是当我在 linux 机器上运行它时:
time go build
real 0m2.017s
user 0m0.054s
sys 0m1.915s
当我第二次运行它时:
time go build
real 0m0.120s
user 0m0.072s
sys 0m0.088s
这不仅仅是build,还有一些go工具比如fmt。在 linux 上需要 0.12 秒,但在 windows 上几乎需要 3 秒。其他工具如 guru、gocode 等也存在同样的问题,导致代码开发非常缓慢。
我正在使用 golang 1.11。我正在使用 SSD,一切都在本地运行。对不起,我希望我能更有帮助,但我真的不知道从哪里开始调试这个。
有人知道发生了什么吗?
【问题讨论】:
-
我只在第一次运行时体验到它(运行或构建并运行 exe)。第二次运行是即时的。
-
顺便说一句,我也有 Goland。如果我在 GoLand 中使用 Goland,它会立即运行,无论是否首先运行。
-
你运行的是什么版本的 Go? Go1.10 及更高版本改进了构建时间,请参阅 this answer。
-
您是在 Windows 机器上使用本地驱动器还是网络驱动器?
-
@Husain - 你还在面对这个问题吗?我在同一条船上,我有两台 Windows 笔记本电脑,在一台笔记本电脑上构建只需 2 秒,而在另一台笔记本电脑上则需要 10 秒。两者都是高端笔记本电脑。我尝试禁用防病毒软件,但没有改进,版本 1.11.4