我正在尝试解决代码谜题的出现(所以对于那些还没有完成第一天的人来说剧透警告),我遇到了一些我无法理解的事情。
我有一个函数,它根据其他一些数字列表生成一个数字列表,并返回第二次遇到的第一个数字:
func findFirstDoubleFrequency(freqs []int) int {
seen := map[int]bool{0: true}
freq := 0
for {
for _, f := range freqs {
freq += f
if seen[freq] == true {
return freq
}
seen[freq] = true
}
}
}
当我使用 运行我的代码时go run,该函数需要大约 15 毫秒才能完成。但是当我构建go build并运行可执行文件时,需要大约 40 毫秒才能完成。我真的很想知道为什么这些运行之间的执行时间有如此大的差异。他们不应该是一样的吗?或者像 GC 这样的东西会减慢go build可执行文件的速度?
侃侃尔雅
相关分类