---
name: "jocamlcp"
section: "1"
platform: "linux"
package: "jocaml"
version: "4.01.0-3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/jocamlcp"
---

# jocamlcp(1)

The JoCaml profiling compiler

## NAME

Jocamlcp - The JoCaml profiling compiler

## SYNOPSIS

**jocamlcp** \[ *jocamlcp options* \] \[ **-p** *flags* \] *filename ...*

## DESCRIPTION

The **jocamlcp** command is a front-end to [**jocamlc**(1)](/jocamlc/1.md) that instruments the source code, adding code to record how many times functions are called, branches of conditionals are taken, ... Execution of instrumented code produces an execution profile in the file ocamlprof.dump, which can be read using [**jocamlprof**(1)](/jocamlprof/1.md).

**jocamlcp** accepts the same arguments and options as [**jocamlc**(1)](/jocamlc/1.md).

## OPTIONS

In addition to the [**jocamlc**(1)](/jocamlc/1.md) options, **jocamlcp** accepts the following option controlling the amount of profiling information:

- **-p** *letters*

  The *letters* indicate which parts of the program should be profiled:

- **a**

  all options

- **f**

  function calls : a count point is set at the beginning of each function body

- **i**

  **if** ... **then** ... **else**: count points are set in both **then** and **else** branches

- **l**

  loops: a count point is set at the beginning of the loop body

- **m**

  **match** branches: a count point is set at the beginning of the body of each branch of a pattern-matching

- **t**

  **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 **jocamlcp -pfilm** profiles function calls, **if** ... **then** ... **else** ..., loops, and pattern matching.

Calling [**jocamlcp**(1)](/jocamlcp/1.md) without the **-p** option defaults to **-p fm** meaning that only function calls and pattern matching are profiled.

Note: due to the implementation of streams and stream patterns as syntactic sugar, it is hard to predict what parts of stream expressions and patterns will be profiled by a given flag.  To profile a program with streams, we recommend using **jocamlcp -p a**.

## SEE ALSO

[**jocamlc**(1)](/jocamlc/1.md), [**jocamlprof**(1)](/jocamlprof/1.md).\
 *The Objective Caml user's manual*, chapter "Profiling".
