Documentation

Overview

Package bench provides benchmark output parsing capabilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Benchmark

type Benchmark struct {
	Name string
	Runs int

	NsPerOp float64
	Mem     Mem                // from '-benchmem'
	Custom  map[string]float64 `json:",omitempty"` // https://tip.golang.org/pkg/testing/#B.ReportMetric
}

Benchmark is an individual run

type LineReader

type LineReader interface {
	ReadLine() (line []byte, isPrefix bool, err error)
}

LineReader defines the API surface of bufio.Reader used by the parser

type Mem

type Mem struct {
	BytesPerOp  int
	AllocsPerOp int
	MBPerSec    float64
}

Mem is memory allocation information about a run

type Parser

type Parser struct {
	// contains filtered or unexported fields
}

Parser is gobenchdata's benchmark output parser

func NewParser

func NewParser(in *bufio.Reader) *Parser

NewParser instantiates a new benchmark parser that reads from the given buffer

func (*Parser) Read

func (p *Parser) Read() ([]Suite, error)

type Run

type Run struct {
	Version string `json:",omitempty"`
	Date    int64
	Tags    []string `json:",omitempty"`
	Suites  []Suite
}

Run denotes one run of gobenchdata, useful for grouping benchmark records

func (*Run) FindBenchmark

func (r *Run) FindBenchmark(pkg, bench string) (*Benchmark, bool)

FindBenchmark returns benchmark by package and bench name

type RunHistory

type RunHistory []Run

RunHistory is a sort.Interface that sorts the most recent run first

func (RunHistory) Len

func (r RunHistory) Len() int

func (RunHistory) Less

func (r RunHistory) Less(i, j int) bool

func (RunHistory) Runs

func (r RunHistory) Runs() []Run

Runs returns the underlyinng runs

func (RunHistory) Swap

func (r RunHistory) Swap(i, j int)

type Suite

type Suite struct {
	Goos       string
	Goarch     string
	Pkg        string
	Benchmarks []Benchmark
}

Suite is a suite of benchmark runs