GO语言"testing"包中"B.ReportMetric"类型的用法及代码示例。
用法:
func(b *B) ReportMetric(n float64, unit string)
ReportMetric 将"n unit" 添加到报告的基准测试结果中。如果度量是per-iteration,调用者应该除以b.N,并且按照惯例,单位应该以"/op"结尾。 ReportMetric 覆盖同一单位的任何先前报告的值。 ReportMetric 如果 unit 是空字符串或 unit 包含任何空格,则会出现Panics。如果 unit 是基准框架本身通常报告的单位(例如"allocs/op"),ReportMetric 将覆盖该指标。将 "ns/op" 设置为 0 将抑制该内置指标。
例子:
package main
import (
"sort"
"testing"
)
func main() {
// This reports a custom benchmark metric relevant to a
// specific algorithm (in this case, sorting).
testing.Benchmark(func(b *testing.B) {
var compares int64
for i := 0; i < b.N; i++ {
s := []int{5, 4, 3, 2, 1}
sort.Slice(s, func(i, j int) bool {
compares++
return s[i] < s[j]
})
}
// This metric is per-operation, so divide by b.N and
// report it as a "/op" unit.
b.ReportMetric(float64(compares)/float64(b.N), "compares/op")
})
}
相关用法
- GO B.RunParallel用法及代码示例
- GO Buffer.Bytes用法及代码示例
- GO Buffer.Read用法及代码示例
- GO Buffer.Len用法及代码示例
- GO Buffer用法及代码示例
- GO Buffer.Next用法及代码示例
- GO Buffer.ReadByte用法及代码示例
- GO Base用法及代码示例
- GO Buffer.Cap用法及代码示例
- GO Builder用法及代码示例
- GO ByteOrder用法及代码示例
- GO Buffer.Grow用法及代码示例
- GO BinaryOp用法及代码示例
- GO PutUvarint用法及代码示例
- GO Scanner.Scan用法及代码示例
- GO LeadingZeros32用法及代码示例
- GO NewFromFiles用法及代码示例
- GO Regexp.FindString用法及代码示例
- GO Time.Sub用法及代码示例
- GO Regexp.FindAllIndex用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 B.ReportMetric。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。