Tezt_mavryk.Snoop
Run mavkit-snoop commands.
val create : ?path:string -> ?color:Tezt_wrapper.Log.Color.t -> unit -> t
Create a mavkit-snoop state
val benchmark :
bench_name:string ->
bench_num:int ->
nsamples:int ->
save_to:string ->
?seed:int ->
?config_file:string ->
?csv_dump:string ->
t ->
unit Lwt.t
Runs the benchmark command.
This performs benchmark bench_name
, asking for bench_num
points. Each point is obtained by measuring execution time nsamples
times. The result of benchmarking is saved to save_to
.
For the meaning of the other optional parameters, see the documentation of mavkit-snoop
.
Several regression methods are proposed. Lasso
gives good result. When the variables to be inferred must be constrained to be positive (as is typical with cost models that are monotonically increasing in the size of the inputs) then the positive
field can be set to true
.
val infer_parameters :
workload_data:string ->
regression_method:regression_method ->
dump_csv:string ->
solution:string ->
?report:string ->
?graph:string ->
t ->
unit Lwt.t
Infers parameters for a model on some benchmark data.
val sapling_generate :
?protocol:Protocol.t ->
tx_count:int ->
max_inputs:int ->
max_outputs:int ->
file:string ->
?max_nullifiers:int ->
?max_additional_commitments:int ->
?seed:int ->
t ->
unit Lwt.t
Generate a bunch of sapling transactions
val spawn_michelson_generate :
?protocol:Protocol.t ->
terms_count:int ->
kind:michelson_term_kind ->
file:string ->
?min_size:int ->
?max_size:int ->
?burn_in:int ->
?seed:int ->
t ->
Tezt_wrapper.Process.t
Generate a bunch of Michelson terms
val michelson_generate :
?protocol:Protocol.t ->
terms_count:int ->
kind:michelson_term_kind ->
file:string ->
?min_size:int ->
?max_size:int ->
?burn_in:int ->
?seed:int ->
t ->
unit Lwt.t
val michelson_concat :
?protocol:Protocol.t ->
file1:string ->
file2:string ->
target:string ->
t ->
unit Lwt.t
Concatenate files containing Michelson terms
List all benchmarks matching provided tags according to the chosen mode.
type tag =
| Proto of Protocol.t
| Interpreter
| Translator
| Sapling
| Encoding
| Io
| Misc
| Builtin
| Global_constants
| Cache
| Carbonated_map
| Tickets
| Big_map
| Skip_list
| Sc_rollup
| Shell
| Apply
| Example
| Micheline
| Dal
val write_config :
benchmark:string ->
bench_config:string ->
file:string ->
t ->
unit Lwt.t
val generate_code_for_solutions :
solution:string ->
?save_to:string ->
?split_to:string ->
?fixed_point:string ->
t ->
string Lwt.t
Execute mavkit-snoop generate code for <solutions-dir>
comamnd and returns its stdout output.
If fixed_point
is specified --fixed-point <fixed_point>
option is added.
val check_definitions : files:string list -> t -> unit Lwt.t
Execute mavkit-snoop check definitions of files