Module Single_value_abstraction.Stats
Automatically computes stats about the number of calls.
module In_bits = Units.In_bitsmodule IntMap : sig ... endmodule Log : Tracelog.Stype func_stats = {nb_args : int;(*How many arguments does the function take.
*)nb_calls : int;(*How many times the function was called.
*)nb_constant_returns : int;(*How many times the return value was constant.
*)nb_constant_calls : int IntMap.t;(*For each nb_constant, how many calls with that number of constant args.
*)return_size : int IntMap.t option;(*For each size, how many calls returning that size, if applicable.
*)total_time : (int, Stats.compact) Stats.t;(*Total time spend in this function, in microseconds, across all calls
*)
}Aggregated statistics for each transfer function.
val print_stats : Stdlib.Format.formatter -> (string * func_stats) list -> unitPrint individual stats for each function in individual order
val pp_spread :
?justify:bool ->
string list ->
string ->
Stdlib.Format.formatter ->
(int, 'a) Stats.t ->
unitval print_summary :
Stdlib.Format.formatter ->
(string * func_stats) list ->
unitPrint a summary comparing each functions total runtime