hydra.build.benchresult module

Type-level model for benchmark result JSON: a typed result model whose generated codec replaces the hand-rolled JSON assembly in the bench drivers. See https://github.com/CategoricalData/hydra/issues/416.

class hydra.build.benchresult.BenchMetadata(timestamp: Annotated[str, 'ISO-8601 UTC timestamp of the run'], language: Annotated[str, 'The host language the benchmark ran on'], branch: Annotated[str, 'The git branch'], commit: Annotated[str, 'The short git commit hash'], commit_message: Annotated[str, 'The commit subject line'])

Bases: object

Per-run metadata: timestamp and git context of a benchmark run.

BRANCH = Name(value='branch')
class Builder(_timestamp: 'str' = None, _language: 'str' = None, _branch: 'str' = None, _commit: 'str' = None, _commit_message: 'str' = None)

Bases: object

branch(branch)
build()
commit(commit)
commit_message(commit_message)
language(language)
timestamp(timestamp)
COMMIT = Name(value='commit')
COMMIT_MESSAGE = Name(value='commitMessage')
LANGUAGE = Name(value='language')
TIMESTAMP = Name(value='timestamp')
TYPE_ = Name(value='hydra.build.benchresult.BenchMetadata')
branch: Annotated[str, 'The git branch']
static builder()
commit: Annotated[str, 'The short git commit hash']
commit_message: Annotated[str, 'The commit subject line']
language: Annotated[str, 'The host language the benchmark ran on']
timestamp: Annotated[str, 'ISO-8601 UTC timestamp of the run']
with_branch(branch)
with_commit(commit)
with_commit_message(commit_message)
with_language(language)
with_timestamp(timestamp)
class hydra.build.benchresult.GenBenchResult(target: Annotated[str, 'The target language being generated'], runs: Annotated[int, 'The number of timed runs per (host, package)'], hosts: Annotated[Mapping[str, HostResult], 'Per-host results, keyed by host language name'], metadata: Annotated[object, 'Optional run metadata'])

Bases: object

A generator-benchmark result: target, run count, and per-host results.

class Builder(_target: 'str' = None, _runs: 'int' = None, _hosts: 'Mapping[str, HostResult]' = None, _metadata: 'Optional[BenchMetadata]' = None)

Bases: object

build()
hosts(hosts)
metadata(metadata)
runs(runs)
target(target)
HOSTS = Name(value='hosts')
METADATA = Name(value='metadata')
RUNS = Name(value='runs')
TARGET = Name(value='target')
TYPE_ = Name(value='hydra.build.benchresult.GenBenchResult')
static builder()
hosts: Annotated[Mapping[str, HostResult], 'Per-host results, keyed by host language name']
metadata: Annotated[object, 'Optional run metadata']
runs: Annotated[int, 'The number of timed runs per (host, package)']
target: Annotated[str, 'The target language being generated']
with_hosts(hosts)
with_metadata(metadata)
with_runs(runs)
with_target(target)
class hydra.build.benchresult.HostResult(setup_ms: Annotated[int, 'Host setup/build time in milliseconds'], packages: Annotated[Mapping[str, RunStats], 'Per-package run statistics, keyed by package name'])

Bases: object

One host’s generator-benchmark result: setup time and per-package timings.

class Builder(_setup_ms: 'int' = None, _packages: 'Mapping[str, RunStats]' = None)

Bases: object

build()
packages(packages)
setup_ms(setup_ms)
PACKAGES = Name(value='packages')
SETUP_MS = Name(value='setupMs')
TYPE_ = Name(value='hydra.build.benchresult.HostResult')
static builder()
packages: Annotated[Mapping[str, RunStats], 'Per-package run statistics, keyed by package name']
setup_ms: Annotated[int, 'Host setup/build time in milliseconds']
with_packages(packages)
with_setup_ms(setup_ms)
class hydra.build.benchresult.RunStats(runs_ms: Annotated[Sequence[int], "Each run's elapsed time in milliseconds"], median_ms: Annotated[int, 'The median elapsed time in milliseconds'])

Bases: object

Timing statistics for one (host, package): per-run elapsed times and the median.

class Builder(_runs_ms: 'Sequence[int]' = None, _median_ms: 'int' = None)

Bases: object

build()
median_ms(median_ms)
runs_ms(runs_ms)
MEDIAN_MS = Name(value='medianMs')
RUNS_MS = Name(value='runsMs')
TYPE_ = Name(value='hydra.build.benchresult.RunStats')
static builder()
median_ms: Annotated[int, 'The median elapsed time in milliseconds']
runs_ms: Annotated[Sequence[int], "Each run's elapsed time in milliseconds"]
with_median_ms(median_ms)
with_runs_ms(runs_ms)