tests/test-revlog-packentry.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 05 Apr 2024 11:05:54 +0200
changeset 51576 de5bf3fe0233
parent 49252 4141951dacff
permissions -rw-r--r--
revset: stop serializing node when using "%ln" Turning hundred of thousand of node from node to hex and back can be slow… what about we stop doing it? In many case were we are using node id we should be using revision id. However this is not a good reason to have a stupidly slow implementation of "%ln". This caught my attention again because the phase discovery during push make an extensive use of "%ln" or huge set. In absolute, that phase discovery probably should use "%ld" and need to improves its algorithmic complexity, but improving "%ln" seems simple and long overdue. This greatly speeds up `hg push` on repository with many drafts. Here are some relevant poulpe benchmarks: ### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog # benchmark.name = hg.command.push # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.explicit-rev = all-out-heads # benchmark.variants.issue6528 = disabled # benchmark.variants.protocol = ssh # benchmark.variants.reuse-external-delta-parent = default ## benchmark.variants.revs = any-1-extra-rev before: 44.235070 after: 20.416329 (-53.85%, -23.82) ## benchmark.variants.revs = any-100-extra-rev before: 49.234697 after: 26.519829 (-46.14%, -22.71) ### benchmark.name = hg.command.bundle # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.revs = all # benchmark.variants.type = none-streamv2 ## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog before: 10.138396 after: 7.750458 (-23.55%, -2.39) ## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog before: 1.263859 after: 0.700229 (-44.60%, -0.56) ## data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog before: 399.484481 after: 346.5089 (-13.26%, -52.98) ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog before: 4.540080 after: 3.401700 (-25.07%, -1.14) ## data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog before: 2.975765 after: 1.870798 (-37.13%, -1.10)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11919
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     1
  $ hg init repo
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     2
  $ cd repo
5338
f87685355c9c revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     3
11919
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     4
  $ touch foo
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     5
  $ hg ci -Am 'add foo'
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     6
  adding foo
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     7
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     8
  $ hg up -C null
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
     9
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
5338
f87685355c9c revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    10
11919
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
    11
this should be stored as a delta against rev 0
5338
f87685355c9c revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    12
11919
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
    13
  $ echo foo bar baz > foo
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
    14
  $ hg ci -Am 'add foo again'
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
    15
  adding foo
67fb33eb3add tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5338
diff changeset
    16
  created new head
5338
f87685355c9c revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    17
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 11919
diff changeset
    18
  $ hg debugindex foo
49252
4141951dacff debugindex: rename the parent column to mention nodeid
Pierre-Yves DAVID <pierre-yves.david@octobus.net>
parents: 49251
diff changeset
    19
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
    20
       0       0 b80de5d13875 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
    21
       1       1 0376abec49b8 000000000000 000000000000
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 14182
diff changeset
    22
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 14182
diff changeset
    23
  $ cd ..