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

  • 相关阅读:
    爱奇艺笔试题 输出01020304... ...
    ThreadPoolExecutor 中为什么WorkQueue会在corePoolSize满了之后入队
    jvisualvm 的使用
    连续子数组的最大和
    最长连续子序列
    leetcode 需要了解的知识点储备
    java String
    mysql MVCC
    java 批量导出(zip文件)
    java 中接口调用
  • 原文地址:https://www.cnblogs.com/a-xu/p/6867347.html
Copyright © 2011-2022 走看看