ocamlcp [ ocamlc options ] [ -P flags ] filename ...
ocamloptp [ ocamlopt options ] [ -P flags ] filename ...
The ocamlcp and ocamloptp commands are front-ends to ocamlc(1) and ocamlopt(1) that instrument the source code, adding code to record how many times functions are called, branches of conditionals are taken, etc. Execution of instrumented code produces an execution profile in the file ocamlprof.dump, which can be read using ocamlprof(1).
ocamlcp accepts the same arguments and options as ocamlc(1) and ocamloptp accepts the same arguments and options as ocamlopt(1). There is only one exception: in both cases, the -pp option is not supported. If you need to preprocess your source files, you will have to do it separately before calling ocamlcp or ocamloptp.
In addition to the ocamlc(1) or ocamlopt(1) options, ocamlcp and ocamloptp accept one option to control the kind of profiling information, the -P letters option. The letters indicate which parts of the program should be profiled:
function calls : a count point is set at the beginning of each function body
if ... then ... else: count points are set in both then and else branches
while, for loops: a count point is set at the beginning of the loop body
match branches: a count point is set at the beginning of the body of each branch of a pattern-matching
try ... with branches: a count point is set at the beginning of the body of each branch of an exception catcher
For instance, compiling with ocamlcp -P film profiles function calls, if ... then ... else ..., loops, and pattern matching.
Calling ocamlcp(1) or ocamloptp(1) without the -P option defaults to -P fm, meaning that only function calls and pattern matching are profiled.
Note: for compatibility with previous versions, ocamlcp(1) also accepts the option -p with the same argument and meaning as -P.
ocamlc(1), ocamlopt(1), ocamlprof(1).
The OCaml user's manual, chapter "Profiling".
The man page ocamloptp(1) is an alias of ocamlcp(1).