2012-02-08 14 views
15

Qualcuno è a conoscenza dei programmi per la profilazione del codice OCaml oltre all'uso dell'opzione -p durante la compilazione e quindi l'utilizzo di gprof? Sto facendo questa domanda per verificare se il tempo di campionamento di 0,01 secondi può essere ulteriormente abbassato?Strumenti per la profilazione del codice OCaml

+1

* [Questa tecnica] (http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024) * funziona con ocaml as bene, credo. –

risposta

8

poorman's profiler è perfettamente applicabile per i programmi OCaml. La stessa idea funziona anche per profiling allocations.

+0

@Complicato vedi bio: Grazie per le indicazioni. Vorrei provare questo profiler. –

+0

grazie! Ho intenzione di provarlo! –

+0

@ maths-help-seeker Questa è la risposta di ygrek. Ho solo corretto la lettera maiuscola di "OCaml". –

6

Mai usato ma ocamlviz è un'altra opzione.

+0

Sì, l'ho visto dopo aver postato questa domanda. Grazie uomo! –

6

È inoltre possibile utilizzare ocaml-memprof, una patch del compilatore (3.12.0 e 3.12 1) scritta da Fabrice Le Fessant, che aggiunge funzionalità di profiling della memoria ai programmi ocaml.

EDIT

Ora avete ocp-memprof, una Memory Profiler OCaml che è possibile utilizzare on-line. È disponibile su http://memprof.typerex.org.

2

Aggiungendo alla lista di risposte utili: L'OCamlPro post menzioni profiling delle prestazioni (non la memoria profiling) di codice nativo su Linux usando perf (installato tramite pacchetto linux-tools nelle distribuzioni Debian-like).

In sostanza, è sufficiente eseguire:

perf record -g ./native_program arguments 

per produrre un file contenente i dati di profilazione perf.data, e quindi eseguire

perf report -g 

per vedere i risultati.

Funziona meglio quando si utilizza una versione di OCaml con puntatori di frame abilitati (ad esempio 4.02.1+fp anziché 4.02.1 su OPAM).

Problemi correlati