Documentation ¶
Overview ¶
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
Index ¶
- type Cpu
- type CpuTarget
- func (t *CpuTarget) FinishField(_, _ vdl.Target) error
- func (t *CpuTarget) FinishFields(_ vdl.FieldsTarget) error
- func (t *CpuTarget) StartField(name string) (key, field vdl.Target, _ error)
- func (t *CpuTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)
- func (t *CpuTarget) ZeroField(name string) error
- type Os
- type OsTarget
- func (t *OsTarget) FinishField(_, _ vdl.Target) error
- func (t *OsTarget) FinishFields(_ vdl.FieldsTarget) error
- func (t *OsTarget) StartField(name string) (key, field vdl.Target, _ error)
- func (t *OsTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)
- func (t *OsTarget) ZeroField(name string) error
- type Run
- type RunTarget
- func (t *RunTarget) FinishField(_, _ vdl.Target) error
- func (t *RunTarget) FinishFields(_ vdl.FieldsTarget) error
- func (t *RunTarget) StartField(name string) (key, field vdl.Target, _ error)
- func (t *RunTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)
- func (t *RunTarget) ZeroField(name string) error
- type Scenario
- type ScenarioTarget
- func (t *ScenarioTarget) FinishField(_, _ vdl.Target) error
- func (t *ScenarioTarget) FinishFields(_ vdl.FieldsTarget) error
- func (t *ScenarioTarget) StartField(name string) (key, field vdl.Target, _ error)
- func (t *ScenarioTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)
- func (t *ScenarioTarget) ZeroField(name string) error
- type SourceCode
- type SourceCodeTarget
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cpu ¶
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) MakeVDLTarget ¶
type CpuTarget ¶
type CpuTarget struct { Value *Cpu vdl.TargetBase vdl.FieldsTargetBase // contains filtered or unexported fields }
func (*CpuTarget) FinishFields ¶
func (t *CpuTarget) FinishFields(_ vdl.FieldsTarget) error
func (*CpuTarget) StartField ¶
func (*CpuTarget) StartFields ¶
type Os ¶
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) MakeVDLTarget ¶
type OsTarget ¶
type OsTarget struct { Value *Os vdl.TargetBase vdl.FieldsTargetBase // contains filtered or unexported fields }
func (*OsTarget) FinishFields ¶
func (t *OsTarget) FinishFields(_ vdl.FieldsTarget) error
func (*OsTarget) StartField ¶
func (*OsTarget) StartFields ¶
type Run ¶
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) MakeVDLTarget ¶
func (Run) PrettyTime ¶
PrettyTime returns a string representing r.NanoSecsPerOp in a more human-friendly form, similar to time.Duration.String.
type RunTarget ¶
type RunTarget struct { Value *Run vdl.TargetBase vdl.FieldsTargetBase // contains filtered or unexported fields }
func (*RunTarget) FinishFields ¶
func (t *RunTarget) FinishFields(_ vdl.FieldsTarget) error
func (*RunTarget) StartField ¶
func (*RunTarget) StartFields ¶
type Scenario ¶
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) MakeVDLTarget ¶
type ScenarioTarget ¶
type ScenarioTarget struct { Value *Scenario vdl.TargetBase vdl.FieldsTargetBase // contains filtered or unexported fields }
func (*ScenarioTarget) FinishField ¶
func (t *ScenarioTarget) FinishField(_, _ vdl.Target) error
func (*ScenarioTarget) FinishFields ¶
func (t *ScenarioTarget) FinishFields(_ vdl.FieldsTarget) error
func (*ScenarioTarget) StartField ¶
func (t *ScenarioTarget) StartField(name string) (key, field vdl.Target, _ error)
func (*ScenarioTarget) StartFields ¶
func (t *ScenarioTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error)
func (*ScenarioTarget) ZeroField ¶
func (t *ScenarioTarget) ZeroField(name string) error
type SourceCode ¶
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) FillVDLTarget ¶
func (*SourceCode) MakeVDLTarget ¶
func (m *SourceCode) MakeVDLTarget() vdl.Target
func (SourceCode) VDLIsZero ¶
func (x SourceCode) VDLIsZero() bool
type SourceCodeTarget ¶
type SourceCodeTarget struct { Value *SourceCode vdl.TargetBase }
func (*SourceCodeTarget) FromString ¶
func (t *SourceCodeTarget) FromString(src string, tt *vdl.Type) error
Directories ¶
Path | Synopsis |
---|---|
Package archive defines the RPC interface for archiving benchmark results.
|
Package archive defines the RPC interface for archiving benchmark results. |
Command benarchd implements a benchmark archival daemon.
|
Command benarchd implements a benchmark archival daemon. |
Command benup extracts microbenchmark results from the provided input (standard input for file) and uploads them to an archival service.
|
Command benup extracts microbenchmark results from the provided input (standard input for file) and uploads them to an archival service. |