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

  • 相关阅读:
    Java异常处理和设计
    一次qps测试实践
    Alternate Task UVA
    Just Another Problem UVA
    Lattice Point or Not UVA
    Play with Floor and Ceil UVA
    Exploring Pyramids UVALive
    Cheerleaders UVA
    Triangle Counting UVA
    Square Numbers UVA
  • 原文地址:https://www.cnblogs.com/a-xu/p/6867347.html
Copyright © 2011-2022 走看看