1signature Profile = 2sig 3 4type call_info = {usr : Time.time, sys : Time.time, gc : Time.time, real : Time.time, n : int} 5 6val profile : string -> ('a -> 'b) -> 'a -> 'b 7val profile_with_exn : string -> ('a -> 'b) -> 'a -> 'b 8val profile_with_exn_name : string -> ('a -> 'b) -> 'a -> 'b 9val profile_no_exn : string -> ('a -> 'b) -> 'a -> 'b 10 11val reset1 : string -> unit 12val reset_all : unit -> unit 13 14val results : unit -> (string * call_info) list 15 16val print_profile_result : (string * call_info) -> unit 17val print_profile_results : (string * call_info) list -> unit 18 19val output_profile_result : TextIO.outstream -> string * call_info -> unit 20val output_profile_results : TextIO.outstream -> (string * call_info) list -> 21 unit 22 23end 24