package core_bench
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Benchmarking library
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.17.0.tar.gz
sha256=a093a77179629a8baef03f58947aac9cf5da37cc0ed7fabdd651832c4fe4cfe5
doc/src/core_bench.internals/test.ml.html
Source file test.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144(** A module internal to [Core_bench]. Please look at {!Bench}. A [Test.t] represents a user specified benchmark. *) open Core module Id : Unique_id.Id = Unique_id.Int () module Basic_test = struct type packed_f = T : ([ `init ] -> unit -> 'a) -> packed_f type t = { test_id : Id.t ; name : string ; test_name : string ; file_name : string ; module_name : string ; key : int ; arg : string option ; group_key : int option ; f : packed_f } [@@deriving fields ~getters] let create_with_initialization ~name ?(test_name = "") ?(file_name = "") ?(module_name = "") ?(group_key = None) ?(arg = None) ~key f = { name ; test_name ; module_name ; file_name ; f = T f ; key ; group_key ; arg ; test_id = Id.create () } ;; let make_filename t = let name = String.tr ~target:' ' ~replacement:'-' t.name in name ^ ".txt" ;; end type t = { name : string ; test_name : string ; file_name : string ; module_name : string ; tests : Basic_test.t list } [@@deriving fields ~getters] let create_with_initialization ~name ?(test_name = "") ?(file_name = "") ?(module_name = "") ?(key = 0) bm = { name ; test_name ; module_name ; file_name ; tests = [ Basic_test.create_with_initialization ~name ~test_name ~module_name ~file_name ~key bm ] } ;; let create ~name ?test_name ?file_name ?module_name ?key bm = create_with_initialization ~name ?test_name ?file_name ?module_name ?key (fun `init -> bm) ;; let create_parameterised ~name ?(test_name = "") ?(file_name = "") ?(module_name = "") ~args ?(key = 0) bm = { name ; test_name ; module_name ; file_name ; tests = List.map args ~f:(fun n -> let individual_key = Stdlib.Hashtbl.seeded_hash key n in let name = name ^ ":" ^ fst n in { Basic_test.name ; test_name ; module_name ; file_name ; arg = Some (fst n) ; key = individual_key ; group_key = Some key ; f = T (fun `init -> Staged.unstage (bm (snd n))) ; test_id = Id.create () }) } ;; let create_indexed ~name ?test_name ?file_name ?module_name ~args ?key bm = create_parameterised ~name ?test_name ?file_name ?module_name ?key bm ~args:(List.map args ~f:(fun i -> Int.to_string i, i)) ;; let expand ts = List.concat (List.map ~f:tests ts) let create_group ~name ?(test_name = "") ?(file_name = "") ?(module_name = "") ts = let ts = expand ts in { name ; test_name ; module_name ; file_name ; tests = List.map ts ~f:(fun test -> let name = name ^ "/" ^ test.Basic_test.name in { test with Basic_test.name }) } ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>