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 ¶
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) VDLReflect ¶
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) VDLReflect ¶
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) PrettyTime ¶
PrettyTime returns a string representing r.NanoSecsPerOp in a more human-friendly form, similar to time.Duration.String.
func (Run) VDLReflect ¶
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) VDLReflect ¶
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) VDLIsZero ¶
func (x SourceCode) VDLIsZero() bool
func (SourceCode) VDLReflect ¶
func (SourceCode) VDLReflect(struct { Name string `vdl:"v.io/x/ref/services/ben.SourceCode"` })
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. |