zoukankan      html  css  js  c++  java
  • golang中 return如果返回指针比大型struct性能高


    type tt struct{

    aa int
    bb int
    cc int
    str string

    }


    func func_rstruct () tt{

    t:=tt{1,2,3,"88888888888"}

    return t


    }


    func func_rpstruct () *tt{

    t:=tt{1,2,3,"88888888888"}

    return &t


    }

    func Benchmark_rstruct(t *testing.B) {

    strs:=[CNT]string{}
    for i:=0;i<CNT;i++ {
    dat:= func_rstruct()
    strs[i]=dat.str
    }
    t.Log("success"+strconv.Itoa(len(strs)))
    }

    func Benchmark_rpstruct(t *testing.B) {



    strs:=[CNT]string{}
    for i:=0;i<CNT;i++ {
    dat:= func_rpstruct()
    strs[i]=(*dat).str

    }
    t.Log("success"+strconv.Itoa(len(strs)))

    }


    result:

    C:Usersxinhuaworkspace estprojsrcmain>go test -test.bench=".*"
    Benchmark_rstruct-4 1000000000 0.29 ns/op
    --- BENCH: Benchmark_rstruct-4
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    tmain_test.go:37: success1000000
    ... [output truncated]
    Benchmark_rpstruct-4 1000000000 0.26 ns/op
    --- BENCH: Benchmark_rpstruct-4
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    tmain_test.go:50: success1000000
    ... [output truncated]
    PASS
    ok _/C_/Users/xinhua/workspace/testproj/src/main 7.997s

  • 相关阅读:
    8.9乘船问题
    8.8几个背包问题
    8.7贪心策略例题:字典序最小问题
    8.6贪心策略例题:区间覆盖问题
    8.5贪心策略例题:区间选点问题
    8.4贪心策略例题:区间调度问题
    SQL 报表 生成月份临时表
    CentOS8 .NET Core项目部署
    Django with database on SQL Server
    SQL 父子表,显示表中每条记录所在层级
  • 原文地址:https://www.cnblogs.com/a-xu/p/6867347.html
Copyright © 2011-2022 走看看