Module Mavryk_benchmarks_proto_alpha.Michelson_generation

type generator_config = {
  1. target_size : Mavryk_benchmark.Base_samplers.range;
    (*

    The target size of the terms, in number of nodes, is sampled uniformly in target_size.

    *)
  2. burn_in_multiplier : int;
    (*

    The generators are based on a Markov chain, which must be "heated-up" until it reaches its stationary state. A prefix of samples are therefore thrown away: this is called the burn-in phase. The number of thrown away terms is proportional to burn_in_multiplier and target_size.

    *)
}

generator_config specifies some parameters to the Mavryk_benchmark_alpha.Michelson_mcmc_samplers Michelson code and data generators.

val default_generator_config : generator_config

Default configuration for the generators.

val generator_config_encoding : generator_config Mavryk_base.TzPervasives.Data_encoding.t

Samplers

val make_data_sampler : Stdlib.Random.State.t -> generator_config -> Mavryk_benchmark_alpha.Michelson_mcmc_samplers.michelson_data

make_data_sampler constructs a Michelson data sampler based on the infrastructure available in Mavryk_benchmark_alpha.Michelson_mcmc_samplers.

val make_code_sampler : Stdlib.Random.State.t -> generator_config -> Mavryk_benchmark_alpha.Michelson_mcmc_samplers.michelson_code

make_code_sampler constructs a Michelson code sampler based on the infrastructure available in Mavryk_benchmark_alpha.Michelson_mcmc_samplers.

Samplers is an instance of the direct-style (non-MCMC based) samplers implemented in Mavryk_benchmark_alpha.Michelson_samplers.