package irmin-bench

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include Trace_replay_intf.Sigs
include Trace_replay_intf.Config with type 'a return_type = 'a Trace_replay_intf.return_type and type 'a config = 'a Trace_replay_intf.config
type 'a return_type = 'a Trace_replay_intf.return_type =
  1. | Unit : unit return_type
  2. | Summary : Trace_stat_summary.t return_type
type 'a config = 'a Trace_replay_intf.config = {
  1. number_of_commits_to_replay : int;
  2. path_conversion : [ `None | `V1 | `V0_and_v1 | `V0 ];
  3. inode_config : int * int;
  4. store_type : [ `Pack | `Pack_layered | `Pack_mem ];
  5. replay_trace_path : string;
  6. artefacts_path : string;
  7. keep_store : bool;
  8. keep_stat_trace : bool;
  9. empty_blobs : bool;
  10. return_type : 'a return_type;
}

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_457 commits take 3 minutes
  • 500_000 commits take 1 hour
  • 1_343_496 commits 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.

module type Store = Trace_replay_intf.Store
module Make (Store : Store) : sig ... end