v.io: v.io/x/ref/services/ben Index | Files | Directories

package ben

import "v.io/x/ref/services/ben"

Package ben defines datastructures to archive microbenchmark results.

These are the data structures common to tools described in https://docs.google.com/document/d/1v-iKwej3eYT_RNhPwQ81A9fa8H15Q6RzNyv2rrAeAUc/edit?usp=sharing nolint:golint

Index

Package Files

ben.go ben.vdl.go

type Cpu Uses

type Cpu struct {
    Architecture  string // Architecture of the CPU, e.g. "amd64", "386" etc.
    Description   string // A detailed description of the CPU, e.g., "Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz"
    ClockSpeedMhz uint32 // Clock speed of the CPU in MHz
}

Cpu describes the CPU of the machine on which the microbenchmarks were run.

func (Cpu) VDLIsZero Uses

func (x Cpu) VDLIsZero() bool

func (*Cpu) VDLRead Uses

func (x *Cpu) VDLRead(dec vdl.Decoder) error

func (Cpu) VDLReflect Uses

func (Cpu) VDLReflect(struct {
    Name string `vdl:"v.io/x/ref/services/ben.Cpu"`
})

func (Cpu) VDLWrite Uses

func (x Cpu) VDLWrite(enc vdl.Encoder) error

type Os Uses

type Os struct {
    Name    string // Short name of the operating system: linux, darwin, android etc.
    Version string // Details of the distribution/version, e.g., "Ubuntu 14.04", "Mac OS X 10.11.2 15C50" etc.
}

Os describes the Operating System on which the microbenchmarks were run.

func (Os) VDLIsZero Uses

func (x Os) VDLIsZero() bool

func (*Os) VDLRead Uses

func (x *Os) VDLRead(dec vdl.Decoder) error

func (Os) VDLReflect Uses

func (Os) VDLReflect(struct {
    Name string `vdl:"v.io/x/ref/services/ben.Os"`
})

func (Os) VDLWrite Uses

func (x Os) VDLWrite(enc vdl.Encoder) error

type Run Uses

type Run struct {
    Name              string // Name of the microbenchmark. <package>.Benchmark<Name> in Go.
    Iterations        uint64
    NanoSecsPerOp     float64 // Nano-seconds per iteration.
    AllocsPerOp       uint64  // Memory allocations per iteration.
    AllocedBytesPerOp uint64  // Size of memory allocations per iteration.
    MegaBytesPerSec   float64 // Throughput in MB/s.
    Parallelism       uint32  // For Go, the GOMAXPROCS used during benchmark execution
}

Run encapsulates the results of a single microbenchmark run.

func (Run) PrettyTime Uses

func (r Run) PrettyTime() string

PrettyTime returns a string representing r.NanoSecsPerOp in a more human-friendly form, similar to time.Duration.String.

func (Run) VDLIsZero Uses

func (x Run) VDLIsZero() bool

func (*Run) VDLRead Uses

func (x *Run) VDLRead(dec vdl.Decoder) error

func (Run) VDLReflect Uses

func (Run) VDLReflect(struct {
    Name string `vdl:"v.io/x/ref/services/ben.Run"`
})

func (Run) VDLWrite Uses

func (x Run) VDLWrite(enc vdl.Encoder) error

type Scenario Uses

type Scenario struct {
    Cpu   Cpu
    Os    Os
    Label string // Arbitrary string label assigned by the uploader.
}

Scenario encapsulates the conditions on the machine on which the microbenchmarks were run.

func (Scenario) VDLIsZero Uses

func (x Scenario) VDLIsZero() bool

func (*Scenario) VDLRead Uses

func (x *Scenario) VDLRead(dec vdl.Decoder) error

func (Scenario) VDLReflect Uses

func (Scenario) VDLReflect(struct {
    Name string `vdl:"v.io/x/ref/services/ben.Scenario"`
})

func (Scenario) VDLWrite Uses

func (x Scenario) VDLWrite(enc vdl.Encoder) error

type SourceCode Uses

type SourceCode string

SourceCode represents the state of the source code used to build the microbenchmarks.

Typically it would be the commit hash of a git repository or the contents of a manifest of a jiri (https://github.com/vanadium/go.jiri) project and not the complete source code itself.

func (SourceCode) ID Uses

func (c SourceCode) ID() string

ID returns a short identifier for Code.

func (SourceCode) VDLIsZero Uses

func (x SourceCode) VDLIsZero() bool

func (*SourceCode) VDLRead Uses

func (x *SourceCode) VDLRead(dec vdl.Decoder) error

func (SourceCode) VDLReflect Uses

func (SourceCode) VDLReflect(struct {
    Name string `vdl:"v.io/x/ref/services/ben.SourceCode"`
})

func (SourceCode) VDLWrite Uses

func (x SourceCode) VDLWrite(enc vdl.Encoder) error

Directories

PathSynopsis
archivePackage archive defines the RPC interface for archiving benchmark results.
benarchdCommand benarchd implements a benchmark archival daemon.
benarchd/internalgo:generate ./gen_assets.sh
benarchd/internal/assets

Package ben imports 7 packages (graph) and is imported by 13 packages. Updated 2020-10-18. Refresh now. Tools for package owners.