diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/reperf/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/reperf/default.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/reperf/default.nix b/pkgs/development/ocaml-modules/reperf/default.nix new file mode 100644 index 00000000000..bcae9dc695c --- /dev/null +++ b/pkgs/development/ocaml-modules/reperf/default.nix @@ -0,0 +1,41 @@ +{ buildDunePackage, fetchFromGitHub, lib, printbox-text, reason }: + +buildDunePackage rec { + pname = "reperf"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "bryphe"; + repo = "reperf"; + rev = "68ef2f96899c09e6ac7d929b0375f7a806aee067"; + sha256 = "sha256-ASujTsH4eDAYLNalB9Xt1p3C8x+FI0kMldZBYaXMCWc="; + }; + + postPatch = '' + substituteInPlace src/dune --replace "printbox" "printbox-text" + ''; + + nativeBuildInputs = [ reason ]; + + buildInputs = [ + printbox-text + ]; + + meta = with lib; { + description = "Native Reason + JSOO cross-platform performance benchmarking tools"; + longDescription = '' + Inspired by the core_bench tools from Janestreet. + + reperf helps with: + * Timing: time spent in a code block + * Call count: frequency of code-path calls + * Allocations: code-block impact to garbage collector + + Supports benchmarks, which are test cases that exercise performance scenarios. + Outputs a JSON performance report, and compare it with previous iterations - and fail if a regression is detected. + ''; + homepage = "https://github.com/bryphe/reperf"; + maintainers = with maintainers; [ superherointj ]; + license = licenses.mit; + }; +} |