package parse

import "golang.org/x/tools/benchmark/parse"

Package parse provides support for parsing benchmark results as generated by 'go test -bench'.

Index

Constants

const (
	NsPerOp = 1 << iota
	MBPerS
	AllocedBytesPerOp
	AllocsPerOp
)

Flags used by Benchmark.Measured to indicate which measurements a Benchmark contains.

Types

type Benchmark

type Benchmark struct {
	Name              string  // benchmark name
	N                 int     // number of iterations
	NsPerOp           float64 // nanoseconds per iteration
	AllocedBytesPerOp uint64  // bytes allocated per iteration
	AllocsPerOp       uint64  // allocs per iteration
	MBPerS            float64 // MB processed per second
	Measured          int     // which measurements were recorded
	Ord               int     // ordinal position within a benchmark run
}

Benchmark is one run of a single benchmark.

func ParseLine

func ParseLine(line string) (*Benchmark, error)

ParseLine extracts a Benchmark from a single line of testing.B output.

func (*Benchmark) String

func (b *Benchmark) String() string

type Set

type Set map[string][]*Benchmark

Set is a collection of benchmarks from one testing.B run, keyed by name to facilitate comparison.

func ParseSet

func ParseSet(r io.Reader) (Set, error)

ParseSet extracts a Set from testing.B output. ParseSet preserves the order of benchmarks that have identical names.

Source Files

parse.go

Version
v0.30.0 (latest)
Published
Feb 10, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
5 hours ago

Tools for package owners.