为了账号安全,请及时绑定邮箱和手机立即绑定

使用 int64 而不是 int32 时,for 循环性能要慢得多

使用 int64 而不是 int32 时,for 循环性能要慢得多

Go
繁华开满天机 2023-08-07 16:37:39
我正在尝试找出有关性能的最佳实践。我注意到为 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
提交
取消
意见反馈 帮助中心 APP下载
官方微信