tests/test-sparse-revlog.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 11 Feb 2020 11:18:52 +0100
changeset 44363 f7459da77f23
parent 41819 688fc33e105d
child 49225 58a814d062ca
permissions -rw-r--r--
nodemap: introduce an option to use mmap to read the nodemap mapping The performance and memory benefit is much greater if we don't have to copy all the data in memory for each information. So we introduce an option (on by default) to read the data using mmap. This changeset is the last one definition the API for index support nodemap data. (they have to be able to use the mmaping). Below are some benchmark comparing the best we currently have in 5.3 with the final step of this series (using the persistent nodemap implementation in Rust). The benchmark run `hg perfindex` with various revset and the following variants: Before: * do not use the persistent nodemap * use the CPython implementation of the index for nodemap * use mmapping of the changelog index After: * use the MixedIndex Rust code, with the NodeTree object for nodemap access (still in review) * use the persistent nodemap data from disk * access the persistent nodemap data through mmap * use mmapping of the changelog index The persistent nodemap greatly speed up most operation on very large repositories. Some of the previously very fast lookup end up a bit slower because the persistent nodemap has to be setup. However the absolute slowdown is very small and won't matters in the big picture. Here are some numbers (in seconds) for the reference copy of mozilla-try: Revset Before After abs-change speedup -10000: 0.004622 0.005532 0.000910 × 0.83 -10: 0.000050 0.000132 0.000082 × 0.37 tip 0.000052 0.000085 0.000033 × 0.61 0 + (-10000:) 0.028222 0.005337 -0.022885 × 5.29 0 0.023521 0.000084 -0.023437 × 280.01 (-10000:) + 0 0.235539 0.005308 -0.230231 × 44.37 (-10:) + :9 0.232883 0.000180 -0.232703 ×1293.79 (-10000:) + (:99) 0.238735 0.005358 -0.233377 × 44.55 :99 + (-10000:) 0.317942 0.005593 -0.312349 × 56.84 :9 + (-10:) 0.313372 0.000179 -0.313193 ×1750.68 :9 0.316450 0.000143 -0.316307 ×2212.93 On smaller repositories, the cost of nodemap related operation is not as big, so the win is much more modest. Yet it helps shaving a handful of millisecond here and there. Here are some numbers (in seconds) for the reference copy of mercurial: Revset Before After abs-change speedup -10: 0.000065 0.000097 0.000032 × 0.67 tip 0.000063 0.000078 0.000015 × 0.80 0 0.000561 0.000079 -0.000482 × 7.10 -10000: 0.004609 0.003648 -0.000961 × 1.26 0 + (-10000:) 0.005023 0.003715 -0.001307 × 1.35 (-10:) + :9 0.002187 0.000108 -0.002079 ×20.25 (-10000:) + 0 0.006252 0.003716 -0.002536 × 1.68 (-10000:) + (:99) 0.006367 0.003707 -0.002660 × 1.71 :9 + (-10:) 0.003846 0.000110 -0.003736 ×34.96 :9 0.003854 0.000099 -0.003755 ×38.92 :99 + (-10000:) 0.007644 0.003778 -0.003866 × 2.02 Differential Revision: https://phab.mercurial-scm.org/D7894
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
====================================
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
Test delta choice with sparse revlog
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
====================================
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     5
Sparse-revlog usually shows the most gain on Manifest. However, it is simpler
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
to general an appropriate file, so we test with a single file instead. The
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     7
goal is to observe intermediate snapshot being created.
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     8
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     9
We need a large enough file. Part of the content needs to be replaced
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    10
repeatedly while some of it changes rarely.
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    11
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    12
  $ bundlepath="$TESTDIR/artifacts/cache/big-file-churn.hg"
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    13
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    14
  $ expectedhash=`cat "$bundlepath".md5`
41805
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    15
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    16
#if slow
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    17
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    18
  $ if [ ! -f "$bundlepath" ]; then
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    19
  >     "$TESTDIR"/artifacts/scripts/generate-churning-bundle.py > /dev/null
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    20
  > fi
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    21
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    22
#else
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    23
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    24
  $ if [ ! -f "$bundlepath" ]; then
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    25
  >     echo 'skipped: missing artifact, run "'"$TESTDIR"'/artifacts/scripts/generate-churning-bundle.py"'
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    26
  >     exit 80
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    27
  > fi
41805
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    28
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    29
#endif
090a41251f09 test: generate the `test-sparse-revlog` artifact when slow-test is allowed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41794
diff changeset
    30
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    31
  $ currenthash=`f -M "$bundlepath" | cut -d = -f 2`
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    32
  $ if [ "$currenthash" != "$expectedhash" ]; then
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    33
  >     echo 'skipped: outdated artifact, md5 "'"$currenthash"'" expected "'"$expectedhash"'" run "'"$TESTDIR"'/artifacts/scripts/generate-churning-bundle.py"'
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    34
  >     exit 80
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    35
  > fi
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    36
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    37
  $ cat >> $HGRCPATH << EOF
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    38
  > [format]
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    39
  > sparse-revlog = yes
39506
b66ea3fc3a86 sparse-revlog: set max delta chain length to on thousand
Boris Feld <boris.feld@octobus.net>
parents: 39505
diff changeset
    40
  > maxchainlen = 15
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    41
  > [storage]
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    42
  > revlog.optimize-delta-parent-choice = yes
41819
688fc33e105d storage: introduce a `revlog.reuse-external-delta` config
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41818
diff changeset
    43
  > revlog.reuse-external-delta = no
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    44
  > EOF
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    45
  $ hg init sparse-repo
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    46
  $ cd sparse-repo
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    47
  $ hg unbundle $bundlepath
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    48
  adding changesets
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    49
  adding manifests
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    50
  adding file changes
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    51
  added 5001 changesets with 5001 changes to 1 files (+89 heads)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    52
  new changesets 9706f5af64f4:d9032adc8114 (5001 drafts)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    53
  (run 'hg heads' to see heads, 'hg merge' to merge)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    54
  $ hg up
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    55
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    56
  updated to "d9032adc8114: commit #5000"
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    57
  89 other heads for branch "default"
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    58
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    59
  $ hg log --stat -r 0:3
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    60
  changeset:   0:9706f5af64f4
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    61
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    62
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    63
  summary:     initial commit
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    64
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    65
   SPARSE-REVLOG-TEST-FILE |  10500 ++++++++++++++++++++++++++++++++++++++++++++++
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    66
   1 files changed, 10500 insertions(+), 0 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    67
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    68
  changeset:   1:724907deaa5e
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    69
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    70
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    71
  summary:     commit #1
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    72
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    73
   SPARSE-REVLOG-TEST-FILE |  1068 +++++++++++++++++++++++-----------------------
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    74
   1 files changed, 534 insertions(+), 534 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    75
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    76
  changeset:   2:62c41bce3e5d
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    77
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    78
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    79
  summary:     commit #2
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    80
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    81
   SPARSE-REVLOG-TEST-FILE |  1068 +++++++++++++++++++++++-----------------------
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    82
   1 files changed, 534 insertions(+), 534 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    83
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    84
  changeset:   3:348a9cbd6959
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    85
  user:        test
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    86
  date:        Thu Jan 01 00:00:00 1970 +0000
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    87
  summary:     commit #3
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    88
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    89
   SPARSE-REVLOG-TEST-FILE |  1068 +++++++++++++++++++++++-----------------------
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    90
   1 files changed, 534 insertions(+), 534 deletions(-)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    91
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    92
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    93
  $ f -s .hg/store/data/*.d
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
    94
  .hg/store/data/_s_p_a_r_s_e-_r_e_v_l_o_g-_t_e_s_t-_f_i_l_e.d: size=63327412
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    95
  $ hg debugrevlog *
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    96
  format : 1
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    97
  flags  : generaldelta
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    98
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    99
  revisions     :     5001
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   100
      merges    :      625 (12.50%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   101
      normal    :     4376 (87.50%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   102
  revisions     :     5001
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   103
      empty     :        0 ( 0.00%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   104
                     text  :        0 (100.00%)
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   105
                     delta :        0 (100.00%)
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   106
      snapshot  :      383 ( 7.66%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   107
        lvl-0   :              3 ( 0.06%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   108
        lvl-1   :             20 ( 0.40%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   109
        lvl-2   :             68 ( 1.36%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   110
        lvl-3   :            112 ( 2.24%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   111
        lvl-4   :            180 ( 3.60%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   112
      deltas    :     4618 (92.34%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   113
  revision size : 63327412
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   114
      snapshot  :  9886710 (15.61%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   115
        lvl-0   :         603104 ( 0.95%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   116
        lvl-1   :        1559991 ( 2.46%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   117
        lvl-2   :        2295592 ( 3.62%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   118
        lvl-3   :        2531199 ( 4.00%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   119
        lvl-4   :        2896824 ( 4.57%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   120
      deltas    : 53440702 (84.39%)
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   121
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   122
  chunks        :     5001
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   123
      0x78 (x)  :     5001 (100.00%)
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   124
  chunks size   : 63327412
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   125
      0x78 (x)  : 63327412 (100.00%)
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   126
  
39506
b66ea3fc3a86 sparse-revlog: set max delta chain length to on thousand
Boris Feld <boris.feld@octobus.net>
parents: 39505
diff changeset
   127
  avg chain length  :        9
b66ea3fc3a86 sparse-revlog: set max delta chain length to on thousand
Boris Feld <boris.feld@octobus.net>
parents: 39505
diff changeset
   128
  max chain length  :       15
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   129
  max chain reach   : 28248745
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   130
  compression ratio :       27
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   131
  
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   132
  uncompressed data size (min/max/avg) : 346468 / 346472 / 346471
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   133
  full revision size (min/max/avg)     : 201008 / 201050 / 201034
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   134
  inter-snapshot size (min/max/avg)    : 11596 / 168150 / 24430
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   135
      level-1   (min/max/avg)          : 16653 / 168150 / 77999
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   136
      level-2   (min/max/avg)          : 12951 / 85595 / 33758
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   137
      level-3   (min/max/avg)          : 11608 / 43029 / 22599
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   138
      level-4   (min/max/avg)          : 11596 / 21632 / 16093
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   139
  delta size (min/max/avg)             : 10649 / 107163 / 11572
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   140
  
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   141
  deltas against prev  : 3910 (84.67%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   142
      where prev = p1  : 3910     (100.00%)
39491
4ca7a67c94c8 sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   143
      where prev = p2  :    0     ( 0.00%)
41793
2e92624c3613 test: update test-sparse-revlog.t output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39506
diff changeset
   144
      other            :    0     ( 0.00%)
41794
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   145
  deltas against p1    :  648 (14.03%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   146
  deltas against p2    :   60 ( 1.30%)
c59987ab96b4 test: don't trust delta bases from the bundle in test-sparse-revlog.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41793
diff changeset
   147
  deltas against other :    0 ( 0.00%)