Mavryk_benchmarks_proto_alpha.Interpreter_benchmarksval ns : Mavryk_benchmark.Namespace.consval fv : string -> Mavryk_benchmark.Free_variable.tmodule Timelock_samplers = Mavryk_crypto.Timelocktype ex_stack_and_kinstr = | Ex_stack_and_kinstr : {stack : 'a * 'b;stack_type : ('a, 'b) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty;kinstr : ('a, 'b, 'c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr;} -> ex_stack_and_kinstrtype ex_stack_and_continuation = | Ex_stack_and_cont : {stack : 'a * 'b;stack_type : ('a, 'b) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty;cont : ('a, 'b, 'c, 'd)
Mavryk_protocol_alpha.Protocol.Script_typed_ir.continuation;} -> ex_stack_and_continuationtype ex_value = | Ex_value : {value : 'a;ty : ('a, _) Mavryk_protocol_alpha.Protocol.Script_typed_ir.ty;} -> ex_valueval info_and_name :
benchmark_type:benchmark_type ->
intercept:bool ->
?salt:string ->
string ->
string * Mavryk_benchmark.Namespace.tmodule Default_boilerplate : sig ... endmodule Default_config : sig ... endval make_default_samplers :
?algo:[ `Algo of Mavryk_crypto.Signature.V_latest.algo | `Default ] ->
Mavryk_benchmark_alpha__Michelson_samplers.parameters ->
(module Mavryk_benchmark.Crypto_samplers.Finite_key_pool_S)
* (module Mavryk_benchmark_alpha.Michelson_samplers.S)val register_model_for_code_generation :
'a Mavryk_benchmark.Model.model ->
unitval register_time_alloc_codegen_model :
Interpreter_workload.instr_or_cont_name ->
unitval prepare_workload :
?amplification:int ->
Mavryk_raw_protocol_alpha.Alpha_context.context ->
Mavryk_raw_protocol_alpha.Script_typed_ir.step_constants ->
('a, 'b) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
('a, 'b, 'c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
('a * 'b) ->
Interpreter_workload.ir_sized_step listval time_benchmark_from_kinstr_and_stack :
?amplification:int ->
Mavryk_protocol_alpha.Protocol.Alpha_context.context ->
Mavryk_protocol_alpha.Protocol.Script_interpreter.step_constants ->
ex_stack_and_kinstr ->
Interpreter_workload.ir_sized_step list Mavryk_benchmark.Generator.benchmarkval alloc_benchmark_from_kinstr_and_stack :
Mavryk_protocol_alpha.Protocol.Alpha_context.context ->
Mavryk_protocol_alpha.Protocol.Script_interpreter.step_constants ->
ex_stack_and_kinstr ->
Interpreter_workload.ir_sized_step list Mavryk_benchmark.Generator.benchmarkval benchmark_from_kinstr_and_stack :
?amplification:int ->
benchmark_type ->
Mavryk_protocol_alpha.Protocol.Alpha_context.context ->
Mavryk_protocol_alpha.Protocol.Script_interpreter.step_constants ->
ex_stack_and_kinstr ->
Interpreter_workload.ir_sized_step list Mavryk_benchmark.Generator.benchmarkval time_and_alloc : (benchmark_type -> unit) -> unitval make_benchmark :
?amplification:int ->
?intercept:bool ->
?salt:string ->
?more_tags:string list ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
benchmark_type:benchmark_type ->
kinstr_and_stack_sampler:
(Default_config.config ->
Stdlib.Random.State.t ->
unit ->
ex_stack_and_kinstr) ->
unit ->
Mavryk_benchmark.Benchmark.tval make_simple_benchmark :
'bef_top 'bef 'res_top 'res. ?amplification:int ->
?intercept:bool ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
benchmark_type:benchmark_type ->
stack_type:
('bef_top, 'bef) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
kinstr:
('bef_top, 'bef, 'res_top, 'res)
Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
unit ->
Mavryk_benchmark.Benchmark.tval benchmark :
?benchmark_type:benchmark_type ->
?amplification:int ->
?intercept:bool ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
kinstr_and_stack_sampler:
(Default_config.config ->
Stdlib.Random.State.t ->
unit ->
ex_stack_and_kinstr) ->
unit ->
unitval time_alloc_benchmark :
?amplification:int ->
?intercept:bool ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
kinstr_and_stack_sampler:
(Default_config.config ->
Stdlib.Random.State.t ->
unit ->
ex_stack_and_kinstr) ->
unit ->
unitval benchmark_with_stack_sampler :
?benchmark_type:benchmark_type ->
?amplification:int ->
?intercept:bool ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
stack_type:('a, 'b) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
name:Interpreter_workload.instruction_name ->
kinstr:('c, 'd, 'e, 'f) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
stack_sampler:
(Default_config.config -> Stdlib.Random.State.t -> unit -> 'g * 'h) ->
unit ->
unitval benchmark_with_fixed_stack :
?benchmark_type:benchmark_type ->
?amplification:int ->
?intercept:bool ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
stack_type:('a, 'b) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
stack:('a * 'b) ->
kinstr:('a, 'b, 'c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
unit ->
unitval time_alloc_benchmark_with_fixed_stack :
?amplification:int ->
?intercept:bool ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
stack_type:('a, 'b) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
stack:('c * 'd) ->
kinstr:('a, 'b, 'e, 'f) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
unit ->
unitval simple_benchmark_with_stack_sampler :
?benchmark_type:benchmark_type ->
?amplification:int ->
?intercept_stack:('a * 'b) ->
?salt:string ->
?more_tags:string list ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
stack_type:('c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
kinstr:('c, 'd, 'e, 'f) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
stack_sampler:
(Default_config.config -> Stdlib.Random.State.t -> unit -> 'c * 'd) ->
unit ->
unitval simple_time_alloc_benchmark_with_stack_sampler :
?amplification:int ->
?intercept_stack:('a * 'b) ->
?alloc_intercept:bool ->
?salt:string ->
?more_tags:string list ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
stack_type:('c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
kinstr:('c, 'd, 'e, 'f) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
stack_sampler:
(Default_config.config -> Stdlib.Random.State.t -> unit -> 'a * 'b) ->
unit ->
unitval simple_benchmark :
?benchmark_type:benchmark_type ->
?amplification:int ->
?intercept_stack:('a * 'b) ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
stack_type:('c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
kinstr:('c, 'd, 'e, 'f) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
unit ->
unitval simple_time_alloc_benchmark :
?amplification:int ->
?intercept_stack:('a * 'b) ->
?more_tags:string list ->
?salt:string ->
?check:(unit -> unit) ->
name:Interpreter_workload.instruction_name ->
stack_type:('c, 'd) Mavryk_protocol_alpha.Protocol.Script_typed_ir.stack_ty ->
kinstr:('c, 'd, 'e, 'f) Mavryk_protocol_alpha.Protocol.Script_typed_ir.kinstr ->
unit ->
unitval time_benchmark_from_continuation :
?amplification:int ->
Mavryk_protocol_alpha.Protocol.Alpha_context.context ->
Mavryk_protocol_alpha.Protocol.Script_interpreter.step_constants ->
ex_stack_and_continuation ->
Interpreter_workload.ir_sized_step list Mavryk_benchmark.Generator.benchmarkval alloc_benchmark_from_continuation :
Mavryk_protocol_alpha.Protocol.Alpha_context.context ->
Mavryk_protocol_alpha.Protocol.Script_interpreter.step_constants ->
ex_stack_and_continuation ->
Interpreter_workload.ir_sized_step list Mavryk_benchmark.Generator.benchmarkval benchmark_from_continuation :
?amplification:int ->
benchmark_type ->
Mavryk_protocol_alpha.Protocol.Alpha_context.context ->
Mavryk_protocol_alpha.Protocol.Script_interpreter.step_constants ->
ex_stack_and_continuation ->
Interpreter_workload.ir_sized_step list Mavryk_benchmark.Generator.benchmarkval make_continuation_benchmark :
?amplification:int ->
?intercept:bool ->
?salt:string ->
?more_tags:string list ->
?check:(unit -> unit) ->
name:Interpreter_workload.continuation_name ->
benchmark_type:benchmark_type ->
cont_and_stack_sampler:
(Default_config.config ->
Stdlib.Random.State.t ->
unit ->
ex_stack_and_continuation) ->
unit ->
Mavryk_benchmark.Benchmark.tval continuation_benchmark :
?benchmark_type:benchmark_type ->
?amplification:int ->
?intercept:bool ->
?salt:string ->
?more_tags:string list ->
?check:(unit -> unit) ->
name:Interpreter_workload.continuation_name ->
cont_and_stack_sampler:
(Default_config.config ->
Stdlib.Random.State.t ->
unit ->
ex_stack_and_continuation) ->
unit ->
unitval continuation_time_alloc_benchmark :
?amplification:int ->
?intercept:bool ->
?salt:string ->
?more_tags:string list ->
?check:(unit -> unit) ->
name:Interpreter_workload.continuation_name ->
cont_and_stack_sampler:
(Default_config.config ->
Stdlib.Random.State.t ->
unit ->
ex_stack_and_continuation) ->
unit ->
unitval nat_of_positive_int :
int ->
Mavryk_protocol_alpha.Protocol.Script_int.n
Mavryk_protocol_alpha.Protocol.Script_int.numval adversarial_ints :
Stdlib.Random.State.t ->
Default_config.config ->
int ->
Mavryk_protocol_alpha.Protocol.Script_int.z
Mavryk_protocol_alpha.Protocol.Script_int.num
listval raise_if_error :
('a,
Mavryk_error_monad.Error_monad.error
Mavryk_error_monad.Error_monad.TzTrace.trace)
Stdlib.result ->
'bRegistration_section contains all interpreter benchmarks. The goal of a benchmark is to gather enough data to reliably estimate the parameters of the cost model associated to each instruction. In general, it can take several distinct benchmarks to properly cover all the execution paths.
In particular, for affine cost model, it is often worth estimating the intercept separately from the size-dependent coefficients.
module Registration_section : sig ... end