Module Profile

module Profile: sig .. end

Compiler performance recording

Warning: this module is unstable and part of compiler-libs.


type file = string;
let reset: unit => unit;

erase all recorded profile information

let record_call: (~accumulate: bool=?, string, unit => 'a) => 'a;

record_call pass f calls f and records its profile information.

let record: (~accumulate: bool=?, string, 'a => 'b, 'a) => 'b;

record pass f arg records the profile information of f arg

type column = [ | `Abs_top_heap | `Alloc | `Time | `Top_heap];
let print: (Format.formatter, list(column)) => unit;

Prints the selected recorded profiling information to the formatter.

Command line flags

let options_doc: string;
let all_columns: list(column);

A few pass names that are needed in several places, and shared to avoid typos.

let generate: string;
let transl: string;
let typing: string;