package memprof-limits

  1. Overview
  2. Docs
Memory limits, allocation limits, and thread cancellation

Install

Dune Dependency

Authors

Maintainers

Sources

memprof-limits-v0.2.1.tar.gz
md5=15026b85944ee405fe6784cc9f1575bb
sha512=6ae138bc582911ab221f8c8a4a461b58bfcb837933b989ea9f10ef8cdd54a445c300f41fa4a0ec70746a27c24ccae5598666c98195a8400bc7c5c37e9327480b

README.md.html

Memprof-limits — Memory limits, allocation limits, and thread cancellation for OCaml

Memprof-limits is an implementation of (per-thread) global memory limits, (per-thread) allocation limits, and cancellation of CPU-bound threads, for OCaml. Memprof-limits interrupts a computation by raising an exception asynchronously and offers features to recover from them such as interrupt-safe resources.

The implementation uses OCaml's Memprof engine with a low sampling rate that does not affect performance.

An explanation of what must be done to ensure one recovers from a memprof-limits interrupt is provided. It summarises the experience acquired in OCaml in the Coq proof assistant, as well as in other situations in many other programming languages. To my knowledge, this has never been told in textbooks, so I thought it might be of general interest to the community.

Note: Memprof-limits does not support OCaml 5 yet.

  • Home page: https://gitlab.com/gadmm/memprof-limits/

  • Documentation: https://guillaume.munch.name/software/ocaml/memprof-limits/

  • Changes: https://gitlab.com/gadmm/memprof-limits/-/blob/master/CHANGES.md

Memprof-limits is distributed under the LGPL license version 3 with linking exception, see LICENSE.

Installation

Memprof-limits can be installed with Opam: opam install memprof-limits. It requires OCaml 4.12 or newer.

Compilation from sources is done with make. Compilation of documentation is with make doc, which requires odoc and inkscape.

Documentation