nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ buildDunePackage, fetchFromGitHub, lib, printbox-text, reason }:
2
3buildDunePackage rec {
4 pname = "reperf";
5 version = "1.5.1";
6
7 src = fetchFromGitHub {
8 owner = "bryphe";
9 repo = "reperf";
10 rev = "68ef2f96899c09e6ac7d929b0375f7a806aee067";
11 sha256 = "sha256-ASujTsH4eDAYLNalB9Xt1p3C8x+FI0kMldZBYaXMCWc=";
12 };
13
14 postPatch = ''
15 substituteInPlace src/dune --replace "printbox" "printbox-text"
16 '';
17
18 nativeBuildInputs = [ reason ];
19
20 propagatedBuildInputs = [
21 printbox-text
22 ];
23
24 meta = with lib; {
25 description = "Native Reason + JSOO cross-platform performance benchmarking tools";
26 longDescription = ''
27 Inspired by the core_bench tools from Janestreet.
28
29 reperf helps with:
30 * Timing: time spent in a code block
31 * Call count: frequency of code-path calls
32 * Allocations: code-block impact to garbage collector
33
34 Supports benchmarks, which are test cases that exercise performance scenarios.
35 Outputs a JSON performance report, and compare it with previous iterations - and fail if a regression is detected.
36 '';
37 homepage = "https://github.com/bryphe/reperf";
38 maintainers = [ ];
39 license = licenses.mit;
40 };
41}