package irmin-bench
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=11fc2570bdbfd48478c89113fc801084a84a9a2c12d9bf8c64e05ce64ae19bd7
sha512=2171699ca24dec5c9c908a2676b272e034c14eb17f7052a794535e52af0be40be68a689e59c0a640ee244b11703320483f4d0c261542e6242ba23a8f1272b9b0
doc/irmin-bench.traces/Irmin_traces/Trace_replay/Make/index.html
Module Trace_replay.MakeSource
Parameters
Signature
include Trace_replay_intf.Config
with type 'a return_type = 'a return_type
and type 'a config = 'a config
type 'a return_type = 'a return_type = | Unit : unit return_type| Summary : Trace_stat_summary.t return_type
type 'a config = 'a config = {number_of_commits_to_replay : int;path_conversion : [ `None | `V1 | `V0_and_v1 | `V0 ];inode_config : int * int;store_type : [ `Pack | `Pack_layered | `Pack_mem ];replay_trace_path : string;artefacts_path : string;keep_store : bool;keep_stat_trace : bool;empty_blobs : bool;return_type : 'a return_type;gc_every : int;gc_distance_in_the_past : int;gc_wait_after : int;
}Replay configuration
replay_trace_path points to a specific file that describes the sequence of operations to replay. You may download one of the following URLs. The smaller ones are prefix of the larger ones.
- http://data.tarides.com/irmin/data4_10310commits.repr (0.3GB)
- http://data.tarides.com/irmin/data4_100066commits.repr (2.9GB)
- http://data.tarides.com/irmin/data_1343496commits.repr (102GB)
number_of_commits_to_replay is the wished number of commits to replay. If the value is too high, the replay will stop when reaching the end of replay_trace_path. Pick a number of commits depending on the wished runtime. Here are some reference runtimes that were true for irmin 3.0:
60_457commits take 3 minutes500_000commits take 1 hour1_343_496commits take 5 hours
artefacts_path is the destination for the stats trace and the store. If both keep_store and keep_stat_trace are false, the destination will be emptied at the end of the replay.
path_conversion is the strategy for shortening the paths while replaying. Was useful when benchmarking irmin on flattened Tezos paths.
empty_blobs make the replay to push the empty string as in all the blobs, instead of their actual value read in the trace.
inode_config is a pair of ints that will be stored in the results of the replay.
A GC is triggered every gc_every commits. When GC is triggered, we select a previous commit that is gc_distance_in_the_past commits away from the current head commit.
The first GC will be started after gc_distance_in_the_past + 1 commits were replayed. gc_distance_in_the_past only makes sense if gc_every is not 0.
gc_wait_after defines how many commits separate the start of a GC and the moment we block to wait for it to finish. 0 means that we will only block when the next gc starts or at the end of the replay. This parameter only makes sense if gc_every is not 0.