···11+opam-version: "2.0"
22+maintainer: "Guillaume Munch-Maccagnoni <Guillaume.Munch-Maccagnoni@inria.fr>"
33+authors: [
44+ "Guillaume Munch-Maccagnoni <Guillaume.Munch-Maccagnoni@inria.fr>"
55+]
66+license: "LGPL-3.0-only WITH LGPL-3.0-linking-exception"
77+homepage: "https://gitlab.com/gadmm/memprof-limits/"
88+doc: "https://guillaume.munch.name/software/ocaml/memprof-limits/"
99+bug-reports: "https://gitlab.com/gadmm/memprof-limits/issues/"
1010+depends: [
1111+ "ocaml" {>="4.12.0" & < "5.0"}
1212+ "dune" {>= "1.2"}
1313+]
1414+build: ["dune" "build" "-p" name "-j" jobs]
1515+dev-repo: "git+https://gitlab.com/gadmm/memprof-limits.git"
1616+synopsis: "Memory limits, allocation limits, and thread cancellation"
1717+description: """
1818+Memprof-limits provides per-thread global memory limits, per-thread
1919+allocation limits, and cancellation of threads, with ways to
2020+ensure resource-safety after interruption.
2121+2222+Global memory limits let you bound the memory consumption of a task,
2323+in terms of the major heap size.
2424+2525+Allocation limits let you bound the execution time of a task measured
2626+in number of allocations. Allocation limits do not count
2727+deallocations, and are therefore a measure of the work done, which can
2828+be more suitable (reliable, portable, deterministic) than wall-clock
2929+time.
3030+3131+Token limits lets you cancel a (CPU-bound) task preemptively and at a
3232+distance.
3333+3434+Tasks are interrupted by raising an asynchronous exception.
3535+Memprof-limits provides resource-management features and guidance for
3636+reasoning about the consistency of state in the presence of such
3737+interrupts.
3838+3939+The implementation uses OCaml's Statmemprof engine with a low sampling
4040+rate that does not affect performance. A reimplementation of the
4141+Memprof interface compatible with Memprof-limits running at the same
4242+time is provided for profiling needs.
4343+"""
4444+url {
4545+ src:
4646+ "https://gitlab.com/gadmm/memprof-limits/-/archive/v0.2.1/memprof-limits-v0.2.1.tar.gz"
4747+ checksum: [
4848+ "md5=15026b85944ee405fe6784cc9f1575bb"
4949+ "sha512=6ae138bc582911ab221f8c8a4a461b58bfcb837933b989ea9f10ef8cdd54a445c300f41fa4a0ec70746a27c24ccae5598666c98195a8400bc7c5c37e9327480b"
5050+ ]
5151+}