package tezos-benchmark

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Tezos_benchmark.Dep_graphSource

Models associated to benchmarks have free variables. Some of these variables are to be inferred from the empirical data, but some others must be provided by other models and correspond to _dependencies_ of a model upon the result of another one.

The goal of this module is to take as input a set of models seen as sets of free variables and infer back a partial dependency ordering among them. In particular, a topological sort of this partial ordering yields a scheduling for the inference process that respects cross-model dependencies.

Such a problem does not always have a solution, or can have several solutions (ie it is in general ill-posed). When there's more than one possible solution, we use a simple heuristic to pick one.

Sourcemodule Solver : sig ... end

Decide dependencies/provides of free variables

Sourcemodule Graphviz : sig ... end

Visualization of solutions using Graphviz

Sourcemodule Graph : sig ... end

Dependency graph of benchmarks using dependencies/provides

Sourceval find_model_or_generic : string -> (string * 'model) list -> 'model option

find_model_or_generic local_model_name local_model_list returns the model matching local_model_name from a local_model_list of a benchmark. If none match, then searches for models named "*".

Sourceval load_workload_files : local_model_name:string -> string list -> Graph.t * Measure.packed_measurement Tezos_benchmark.Namespace.Hashtbl.t

load_workload_files ~local_model_name files loads .workload files given in files, looks for the model local_model_name, and if found, adds it to a dependency graph. Returns (G, H) where G is the final graph obtained this way, and H is a table that maps the name of a benchmark with its contents.

OCaml

Innovation. Community. Security.