美文网首页
go 基准测试

go 基准测试

作者: bocsoft | 来源:发表于2018-11-27 13:56 被阅读0次

在 Go 中编写[基准测试] 是该语言的另一个一级特性,它与编写测试非常相似

func BenchmarkRepeat(b *testing.B) {
    for i := 0; i < b.N; i++ {
        Repeat("a")
    }
}

你会看到上面的代码和写测试差不多。

testing.B 可使你访问隐性命名(cryptically named)b.N。

基准测试运行时,代码会运行 b.N 次,并测量需要多长时间。

代码运行的次数应该不影响你,框架将决定什么是「好」的值,以便让你获得一些得体的结果。

用 go test -bench=. 来运行基准测试。

注意:基准测试默认是顺序运行的

package iteration

const repeatCount = 5

func Repeat(character string) string {
    var repeated string
    for i := 0; i < repeatCount; i++ {
        repeated += character
    }
    return repeated
}



package iteration

import "testing"

func TestRepeat(t *testing.T) {
    repeated := Repeat("a")
    expected := "aaaaa"

    if repeated != expected {
        t.Errorf("expected '%s' but got '%s'", expected, repeated)
    }
}

func BenchmarkRepeat(b *testing.B) {
    for i := 0; i < b.N; i++ {
        Repeat("a")
    }
}

输出结果如下:
goos: windows
goarch: amd64
pkg: gopcp/learn-go-with-tests/iteration/vx
BenchmarkRepeat-4        5000000           244 ns/op
PASS

相关文章

  • go 基准测试

    基准测试主要用于评估代码的性能,Go 语言测试框架可以让我们很容易地进行基准测试,同样需要遵循四点规则: 基准测试...

  • go 基准测试

    在 Go 中编写[基准测试] 是该语言的另一个一级特性,它与编写测试非常相似 你会看到上面的代码和写测试差不多。...

  • Go 基准测试

    什么是基准测试 基准测试,是一种测试代码性能的方法,比如你有多种不同的方案,都可以解决问题,那么到底是那种方案性能...

  • Go语言之基准测试

    在Go语言中,提供了测试函数性能(CPU和Memory)的测试方法,基准测试。 基准测试主要用来测试CPU和内存的...

  • go语言测试框架

    go语言内置的测试框架能够完成基本的功能测试,基准测试,和样本测试。 测试框架 go语言测试单元以包为单位组织,包...

  • 【实践】Golang的单元测试入门go test

    go test命令,相信大家都不陌生,常见的情况会使用这个命令做单测试、基准测试和http测试。go test还是...

  • golang基准测试Benchmark和Jmeter压测实践

    golang的性能测试Benchmark go test 自带有三种测试: 功能测试(单元测试) 基准测试 (性能...

  • go语言基准测试

    基准测试就是在一定的工作负载之下检测程序性能的一种方法。基准测试的基本格式如下: 测试函数 测试bench 测试S...

  • Go 语言基础——go语言如何优雅的进行测试

    我们可以为Go程序编写三类测试,即:功能测试(test)、基准测试(benchmark),也称性能测试(examp...

  • mysql 基准测试

    mysql 基准测试 基准测试策略 基准测试指标 基准测试工具 基准测试样例

网友评论

      本文标题:go 基准测试

      本文链接:https://www.haomeiwen.com/subject/ffegqqtx.html