我正在尝试找出有关性能的最佳实践。我注意到为 for 循环指定整数类型可能会极大地影响性能(在我的例子中是 x2 倍)。我的问题是,使用 int64 是否应该比使用 int32 慢得多,或者我在代码中遗漏了一些东西?我正在使用的代码:前package mainimport ( "fmt" "time" "runtime" "strconv")func main() { start := time.Now() var x1 int // later change all int to int32 or int64 for i := int(0); i <= int(1000000000); i++ { x1 = x1 + i } t := time.Now() elapsed := t.Sub(start) fmt.Println(x1) fmt.Println(elapsed) fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS) fmt.Println(strconv.IntSize)}使用 int32 作为 x1 的输出C:\...>go build a.goC:\...>a-243309312238.3333msgc amd64 windows64使用 int64 作为 x1 的输出C:\...>go build a.goC:\...>a500000000500000000467.7835msgc amd64 windows64
目前暂无任何回答
- 0 回答
- 0 关注
- 149 浏览
添加回答
举报
0/150
提交
取消