Dear List,
We are pleased to announce that the first version of "landmarks"
is out.
It is available on opam (opam install landmarks) and github
(<https://github.com/LexiFi/landmarks>).
Landmarks is a simple profiling library for OCaml. It
provides primitives to delimit portions of code and measure the
performance of instrumented code at runtime. The available measures
are obtained by aggregating CPU cycles (using the cpu's time stamp
counter), applicative time (using Sys.time) and allocated bytes
(with Gc.allocated_bytes). The instrumentation of the code may
either done by hand, automatically or semi-automatically using a PPX
extension.
During the execution of your program, the traversal of instrumented
code by the control flow is recorded as a "callgraph" that carries
the collected measures. The results may be browsed either directly
on the console, or by exporting results to a simple web-application.
You may try out the web viewer
(http://lexifi.github.io/landmarks/viewer.html) which contains two
examples of profiling (one is profiling the ocaml compiler when it
is compiling the module "typecore.ml" and the other is profiling coq
when it is compiling one file of the standard library).
--
Marc Lasson.