1+ opam-version: "2.0"
2+ synopsis: "Memory limits, allocation limits, and thread cancellation"
3+ description: """\
4+ Memprof-limits provides per-thread global memory limits, per-thread
5+ allocation limits, and cancellation of threads, with ways to
6+ ensure resource-safety after interruption.
7+
8+ Global memory limits let you bound the memory consumption of a task,
9+ in terms of the major heap size.
10+
11+ Allocation limits let you bound the execution time of a task measured
12+ in number of allocations. Allocation limits do not count
13+ deallocations, and are therefore a measure of the work done, which can
14+ be more suitable (reliable, portable, deterministic) than wall-clock
15+ time.
16+
17+ Token limits lets you cancel a (CPU-bound) task preemptively and at a
18+ distance.
19+
20+ Tasks are interrupted by raising an asynchronous exception.
21+ Memprof-limits provides resource-management features and guidance for
22+ reasoning about the consistency of state in the presence of such
23+ interrupts.
24+
25+ The implementation uses OCaml's Statmemprof engine with a low sampling
26+ rate that does not affect performance. Memprof cannot be used on the
27+ same domain as memprof-limits, but a compatible reimplementation of
28+ the Memprof interface is provided for your profiling needs."""
29+ maintainer:
30+ "Guillaume Munch-Maccagnoni <
[email protected] >"
31+ authors: "Guillaume Munch-Maccagnoni <
[email protected] >"
32+ license: "LGPL-3.0-only WITH LGPL-3.0-linking-exception"
33+ homepage: "https://gitlab.com/gadmm/memprof-limits/"
34+ doc: "https://guillaume.munch.name/software/ocaml/memprof-limits/"
35+ bug-reports: "https://gitlab.com/gadmm/memprof-limits/issues/"
36+ depends: [
37+ "ocaml" {(>= "4.12.0" & < "5.0") | >= "5.3"}
38+ "dune" {>= "1.2"}
39+ "cppo" {build}
40+ "odoc" {with-doc}
41+ ]
42+ build: [
43+ ["dune" "build" "-p" name "-j" jobs]
44+ [make "doc"] {with-doc}
45+ ]
46+ dev-repo: "git+https://gitlab.com/gadmm/memprof-limits.git"
47+ url {
48+ src:
49+ "https://gitlab.com/gadmm/memprof-limits/-/archive/v0.3.0/memprof-limits-v0.3.0.tar.gz"
50+ checksum: [
51+ "md5=39c73e7f96b5e5a01cf74937e2a5a1ae"
52+ "sha512=a0049fec23c054eef19a924e5be810ecf9de4f697bd09b133e64c244b7ea09f416cec627ccce412ae793c265043894a878f0d822bcc47a2e622526f96d14af25"
53+ ]
54+ }
0 commit comments