package parse

import ""

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


Package Files



const (
    NsPerOp = 1 << iota

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

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.

Package parse imports 6 packages (graph).

Version v0.1.8 (latest) | Published Dec 2, 2021 | Platform: linux/amd64 | Updated 3 weeks ago

Tools for package owners.