package irmin-bench
Irmin benchmarking suite
Install
Dune Dependency
Authors
Maintainers
Sources
irmin-3.11.0.tbz
sha256=09996fbcc2c43e117a9bd8e9028c635e81cccb264d5e02d425ab8b06bbacdbdb
sha512=0391a6bf7b94a1edd50a3a8df9e58961739fa78d7d689d61f56bc87144483bad2ee539df595c33d9d52c29b3458da5dddf3a73b5eb85e49c4667c26d2cd46be1
doc/irmin-bench.traces/Irmin_traces/Trace_stat_summary_utils/Parallel_folders/index.html
Module Trace_stat_summary_utils.Parallel_folders
Source
See Trace_stat_summary
for an explanation and an example.
Heavily inspired by the "repr" library.
Type parameters:
'res
is the output offinalise
.'f
is the full contructor that creates a'res
.'v
is the output offolder.finalise
, one parameter of'f
.'rest
is'f
or'res
or somewhere in between.'acc
is the accumulator of one folder.'row
is what needs to be fed to allfolder.accumulate
.
Typical use case:
let pf =
open_ (fun res_a res_b -> my_constructor res_a res_b)
|+ folder my_acc_a my_accumulate_a my_finalise_a
|+ folder my_acc_b my_accumulate_b my_finalise_b
|> seal
in
let res = my_row_sequence |> Seq.fold_left accumulate pf |> finalise in
Section 1/3 - Individual folders
Create one folder to be passed to an open parallel folder using |+
.
Section 2/3 - Open parallel folder
Source
val app :
('res, 'row, 'f, 'v -> 'rest) open_t ->
('row, 'acc, 'v) folder ->
('res, 'row, 'f, 'rest) open_t
Add a folder to an open parallel folder.
Source
val (|+) :
('res, 'row, 'f, 'v -> 'rest) open_t ->
('row, 'acc, 'v) folder ->
('res, 'row, 'f, 'rest) open_t
Alias for app
.
Section 3/3 - Closed parallel folder
Stop building a parallel folder.
Gotcha: It may seal a partially applied f
.
Forward a row to all registered functional folders.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>