我正在嘗試找出有關性能的最佳實踐。我注意到為 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 關注
- 211 瀏覽
添加回答
舉報
0/150
提交
取消