tests/test-contrib-perf.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 07 Mar 2024 10:55:22 +0100
changeset 51531 f85f23f1479b
parent 51413 8fc92193a2cf
child 51589 90ef3e042e10
permissions -rw-r--r--
branchcache: skip entries that are topological heads in the on disk file In the majority of cases, topological heads are also branch heads. We have efficient way to get the topological heads and efficient way to retrieve their branch information. So there is little value in putting them in the branch cache file explicitly. On the contrary, writing them explicitly tend to create very large cache file that are inefficient to read and update. So the branch cache v3 format is no longer including them. This changeset focus on the format aspect and have no focus on the performance aspect. We will cover that later.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
     1
#require test-repo
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
     2
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
     3
Set vars:
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
     4
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 27526
diff changeset
     5
  $ . "$TESTDIR/helpers-testrepo.sh"
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
     6
  $ CONTRIBDIR="$TESTDIR/../contrib"
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
     7
27309
b0de270acd17 tests: use a single repo for test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27286
diff changeset
     8
Prepare repo:
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
     9
27309
b0de270acd17 tests: use a single repo for test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27286
diff changeset
    10
  $ hg init
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    11
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    12
  $ echo this is file a > a
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    13
  $ hg add a
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    14
  $ hg commit -m first
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    15
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    16
  $ echo adding to file a >> a
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    17
  $ hg commit -m second
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    18
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    19
  $ echo adding more to file a >> a
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    20
  $ hg commit -m third
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    21
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    22
  $ hg up -r 0
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    23
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    24
  $ echo merge-this >> a
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    25
  $ hg commit -m merge-able
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    26
  created new head
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    27
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    28
  $ hg up -r 2
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    29
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    30
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    31
perfstatus
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    32
27309
b0de270acd17 tests: use a single repo for test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27286
diff changeset
    33
  $ cat >> $HGRCPATH << EOF
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    34
  > [extensions]
42014
d93436e2ca6b tests: use "perf" as a the extension name in test-contrib-perf.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41469
diff changeset
    35
  > perf=$CONTRIBDIR/perf.py
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
    36
  > [perf]
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
    37
  > presleep=0
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
    38
  > stub=on
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
    39
  > parentscount=1
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    40
  > EOF
42014
d93436e2ca6b tests: use "perf" as a the extension name in test-contrib-perf.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41469
diff changeset
    41
  $ hg help -e perf
d93436e2ca6b tests: use "perf" as a the extension name in test-contrib-perf.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41469
diff changeset
    42
  perf extension - helper extension to measure performance
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    43
  
42015
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    44
  Configurations
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    45
  ==============
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    46
  
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    47
  "perf"
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    48
  ------
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    49
  
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    50
  "all-timing"
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    51
      When set, additional statistics will be reported for each benchmark: best,
42015
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    52
      worst, median average. If not set only the best timing is reported
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    53
      (default: off).
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    54
  
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    55
  "presleep"
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    56
    number of second to wait before any group of runs (default: 1)
42015
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    57
  
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
    58
  "pre-run"
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
    59
    number of run to perform before starting measurement.
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
    60
  
42360
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
    61
  "profile-benchmark"
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
    62
    Enable profiling for the benchmarked section. (The first iteration is
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
    63
    benchmarked)
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
    64
  
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    65
  "run-limits"
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    66
    Control the number of runs each benchmark will perform. The option value
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    67
    should be a list of '<time>-<numberofrun>' pairs. After each run the
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    68
    conditions are considered in order with the following logic:
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    69
  
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    70
        If benchmark has been running for <time> seconds, and we have performed
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    71
        <numberofrun> iterations, stop the benchmark,
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    72
  
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    73
    The default value is: '3.0-100, 10.0-3'
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    74
  
42015
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    75
  "stub"
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    76
      When set, benchmarks will only be run once, useful for testing (default:
42015
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    77
      off)
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    78
  
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    79
  list of commands:
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    80
  
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    81
   perf::addremove
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
    82
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    83
   perf::ancestors
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    84
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    85
   perf::ancestorset
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    86
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    87
   perf::annotate
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    88
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    89
   perf::bdiff   benchmark a bdiff between revisions
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    90
   perf::bookmarks
32733
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
    91
                 benchmark parsing bookmarks from disk to memory
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    92
   perf::branchmap
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    93
                 benchmark the update of a branchmap
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    94
   perf::branchmapload
39114
222aba766015 perf: time loading branchmap caches
Martijn Pieters <mj@octobus.net>
parents: 38969
diff changeset
    95
                 benchmark reading the branchmap
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    96
   perf::branchmapupdate
40768
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
    97
                 benchmark branchmap update from for <base> revs to <target>
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
    98
                 revs
49411
b081a5aab782 perf-bundle: add a new command to benchmark bundle creation time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48874
diff changeset
    99
   perf::bundle  benchmark the creation of a bundle from a repository
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   100
   perf::bundleread
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   101
                 Benchmark reading of bundle files.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   102
   perf::cca     (no help text available)
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   103
   perf::changegroupchangelog
30018
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
   104
                 Benchmark producing a changelog group for a changegroup.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   105
   perf::changeset
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   106
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   107
   perf::ctxfiles
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   108
                 (no help text available)
49438
44d4fd09982f perf: introduce a benchmark for delta-find
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49414
diff changeset
   109
   perf::delta-find
44d4fd09982f perf: introduce a benchmark for delta-find
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49414
diff changeset
   110
                 benchmark the process of finding a valid delta for a revlog
44d4fd09982f perf: introduce a benchmark for delta-find
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49414
diff changeset
   111
                 revision
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   112
   perf::diffwd  Profile diff of working directory changes
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   113
   perf::dirfoldmap
43127
0b32206c3c86 perf: document `perfdirfoldmap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43125
diff changeset
   114
                 benchmap a 'dirstate._map.dirfoldmap.get()' request
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   115
   perf::dirs    (no help text available)
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   116
   perf::dirstate
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   117
                 benchmap the time of various distate operations
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   118
   perf::dirstatedirs
43123
69301b79fd36 perf: document `perfdirstatedirs`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43121
diff changeset
   119
                 benchmap a 'dirstate.hasdir' call from an empty 'dirs' cache
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   120
   perf::dirstatefoldmap
43125
56494a2bfe2f perf: document `perfdirstatefoldmap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43123
diff changeset
   121
                 benchmap a 'dirstate._map.filefoldmap.get()' request
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   122
   perf::dirstatewrite
43129
97f9ef777a75 perf: document `perfdirstatewrite`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43127
diff changeset
   123
                 benchmap the time it take to write a dirstate on disk
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   124
   perf::discovery
40941
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
   125
                 benchmark discovery between local repo and the peer at given
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
   126
                 path
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   127
   perf::fncacheencode
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   128
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   129
   perf::fncacheload
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   130
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   131
   perf::fncachewrite
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   132
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   133
   perf::heads   benchmark the computation of a changelog heads
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   134
   perf::helper-mergecopies
42385
21c436a3a4e8 perf: add a `perfhelper-mergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42384
diff changeset
   135
                 find statistics about potential parameters for
21c436a3a4e8 perf: add a `perfhelper-mergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42384
diff changeset
   136
                 'perfmergecopies'
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   137
   perf::helper-pathcopies
40691
a65fe13de84f perf: add a new `perfhelper-tracecopies` command
Boris Feld <boris.feld@octobus.net>
parents: 40550
diff changeset
   138
                 find statistic about potential parameters for the
a65fe13de84f perf: add a new `perfhelper-tracecopies` command
Boris Feld <boris.feld@octobus.net>
parents: 40550
diff changeset
   139
                 'perftracecopies'
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   140
   perf::ignore  benchmark operation related to computing ignore
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   141
   perf::index   benchmark index creation time followed by a lookup
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   142
   perf::linelogedits
38969
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
   143
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   144
   perf::loadmarkers
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   145
                 benchmark the time to parse the on-disk markers for a repo
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   146
   perf::log     (no help text available)
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   147
   perf::lookup  (no help text available)
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   148
   perf::lrucachedict
27286
528cf1a73ae5 perf: add perflrucachedict command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27101
diff changeset
   149
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   150
   perf::manifest
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   151
                 benchmark the time to read a manifest from disk and return a
38693
9b6a708f2263 perf: document the perfmanifest command
Boris Feld <boris.feld@octobus.net>
parents: 38258
diff changeset
   152
                 usable
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   153
   perf::mergecalculate
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   154
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   155
   perf::mergecopies
42384
f5f0a9490c05 perf: add a new `perfmergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42360
diff changeset
   156
                 measure runtime of 'copies.mergecopies'
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   157
   perf::moonwalk
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   158
                 benchmark walking the changelog backwards
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   159
   perf::nodelookup
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   160
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   161
   perf::nodemap
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   162
                 benchmark the time necessary to look up revision from a cold
41469
c9ff93889550 perf: add a perfnodemap command
Boris Feld <boris.feld@octobus.net>
parents: 41437
diff changeset
   163
                 nodemap
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   164
   perf::parents
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   165
                 benchmark the time necessary to fetch one changeset's parents.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   166
   perf::pathcopies
40739
dc3ab5e5fe64 perf: add a docstring to `perfpathcopies`
Boris Feld <boris.feld@octobus.net>
parents: 40720
diff changeset
   167
                 benchmark the copy tracing logic
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   168
   perf::phases  benchmark phasesets computation
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   169
   perf::phasesremote
39140
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   170
                 benchmark time needed to analyse phases of the remote server
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   171
   perf::progress
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   172
                 printing of progress bars
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   173
   perf::rawfiles
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   174
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   175
   perf::revlogchunks
30451
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
   176
                 Benchmark operations on revlog chunks.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   177
   perf::revlogindex
32532
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
   178
                 Benchmark operations against a revlog index.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   179
   perf::revlogrevision
27470
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
   180
                 Benchmark obtaining a revlog revision.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   181
   perf::revlogrevisions
32531
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
   182
                 Benchmark reading a series of revisions from a revlog.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   183
   perf::revlogwrite
40550
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   184
                 Benchmark writing a series of revisions to a revlog.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   185
   perf::revrange
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   186
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   187
   perf::revset  benchmark the execution time of a revset
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   188
   perf::startup
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   189
                 (no help text available)
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   190
   perf::status  benchmark the performance of a single status call
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   191
   perf::stream-consume
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   192
                 benchmark the full application of a stream clone
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   193
   perf::stream-generate
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   194
                 benchmark the full generation of a stream clone
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   195
   perf::stream-locked-section
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   196
                 benchmark the initial, repo-locked, section of a stream-clone
50938
f02b62b7b056 perf: introduce more cache invalidation option in perf::tags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   197
   perf::tags    Benchmark tags retrieval in various situation
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   198
   perf::templating
38258
ae6e02fcee24 perftemplating: allow to specify the template to test
Boris Feld <boris.feld@octobus.net>
parents: 37416
diff changeset
   199
                 test the rendering time of a given template
49414
3c5d0f879404 perf-unbundle: add a perf command to time the unbundle operation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49411
diff changeset
   200
   perf::unbundle
3c5d0f879404 perf-unbundle: add a perf command to time the unbundle operation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49411
diff changeset
   201
                 benchmark application of a bundle in a repository.
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   202
   perf::unidiff
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   203
                 benchmark a unified diff between revisions
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   204
   perf::volatilesets
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   205
                 benchmark the computation of various volatile set
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   206
   perf::walk    (no help text available)
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   207
   perf::write   microbenchmark ui.write (and others)
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   208
  
42014
d93436e2ca6b tests: use "perf" as a the extension name in test-contrib-perf.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41469
diff changeset
   209
  (use 'hg help -v perf' to show built-in aliases and global options)
46387
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   210
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   211
  $ hg help perfaddremove
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   212
  hg perf::addremove
46387
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   213
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   214
  aliases: perfaddremove
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   215
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   216
  (no help text available)
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   217
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   218
  options:
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   219
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   220
   -T --template TEMPLATE display with template
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   221
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   222
  (some details hidden, use --verbose to show complete help)
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   223
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   224
  $ hg perfaddremove
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   225
  $ hg perfancestors
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   226
  $ hg perfancestorset 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   227
  $ hg perfannotate a
30307
c8fa7ad1ff90 perf: add perfbdiff
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30018
diff changeset
   228
  $ hg perfbdiff -c 1
30426
605e3b126d46 perf: unbust perfbdiff --alldata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30336
diff changeset
   229
  $ hg perfbdiff --alldata 1
35861
ed939545edd0 perf: add a perfunidiff command for benchmarking unified diff speed
Augie Fackler <augie@google.com>
parents: 35599
diff changeset
   230
  $ hg perfunidiff -c 1
ed939545edd0 perf: add a perfunidiff command for benchmarking unified diff speed
Augie Fackler <augie@google.com>
parents: 35599
diff changeset
   231
  $ hg perfunidiff --alldata 1
32733
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
   232
  $ hg perfbookmarks
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   233
  $ hg perfbranchmap
40720
0a3cc351d718 perf: fallback to subset if ondisk cache is missing in perfbranchmapload
Boris Feld <boris.feld@octobus.net>
parents: 40713
diff changeset
   234
  $ hg perfbranchmapload
40768
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
   235
  $ hg perfbranchmapupdate --base "not tip" --target "tip"
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
   236
  benchmark of branchmap with 3 revisions with 1 new ones
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   237
  $ hg perfcca
30018
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
   238
  $ hg perfchangegroupchangelog
40713
cfaf3843491b perf: rename version flag of perfchangegroupchangelog to cgversion
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 40691
diff changeset
   239
  $ hg perfchangegroupchangelog --cgversion 01
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   240
  $ hg perfchangeset 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   241
  $ hg perfctxfiles 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   242
  $ hg perfdiffwd
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   243
  $ hg perfdirfoldmap
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   244
  $ hg perfdirs
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   245
  $ hg perfdirstate
43197
0c4efb6eb4fa perf: introduce a `--contains` flag to the `perfdirstate` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43196
diff changeset
   246
  $ hg perfdirstate --contains
43196
5f9b1250b82a perf: introduce a `--iteration` to `perfdirstate`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43129
diff changeset
   247
  $ hg perfdirstate --iteration
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   248
  $ hg perfdirstatedirs
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   249
  $ hg perfdirstatefoldmap
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   250
  $ hg perfdirstatewrite
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   251
#if repofncache
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   252
  $ hg perffncacheencode
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   253
  $ hg perffncacheload
38695
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
   254
  $ hg debugrebuildfncache
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
   255
  fncache already up to date
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   256
  $ hg perffncachewrite
38695
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
   257
  $ hg debugrebuildfncache
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
   258
  fncache already up to date
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   259
#endif
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   260
  $ hg perfheads
40750
45a0047c0ebc perf: add a perfignore command
Boris Feld <boris.feld@octobus.net>
parents: 40740
diff changeset
   261
  $ hg perfignore
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   262
  $ hg perfindex
38969
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
   263
  $ hg perflinelogedits -n 1
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   264
  $ hg perfloadmarkers
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   265
  $ hg perflog
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   266
  $ hg perflookup 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   267
  $ hg perflrucache
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   268
  $ hg perfmanifest 2
39318
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   269
  $ hg perfmanifest -m 44fe2c8352bb3a478ffd7d8350bbc721920134d1
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   270
  $ hg perfmanifest -m 44fe2c8352bb
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   271
  abort: manifest revision must be integer or full node
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   272
  [255]
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   273
  $ hg perfmergecalculate -r 3
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   274
  $ hg perfmoonwalk
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   275
  $ hg perfnodelookup 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   276
  $ hg perfpathcopies 1 2
40925
008f3491dc53 perf: add perfprogress command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40768
diff changeset
   277
  $ hg perfprogress --total 1000
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   278
  $ hg perfrawfiles 2
32532
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
   279
  $ hg perfrevlogindex -c
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35861
diff changeset
   280
#if reporevlogstore
32531
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
   281
  $ hg perfrevlogrevisions .hg/store/data/a.i
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35861
diff changeset
   282
#endif
27470
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
   283
  $ hg perfrevlogrevision -m 0
30451
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
   284
  $ hg perfrevlogchunks -c
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   285
  $ hg perfrevrange
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   286
  $ hg perfrevset 'all()'
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   287
  $ hg perfstartup
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   288
  $ hg perfstatus
43436
bfc68404cccd perf: add a way to benchmark `dirstate.status`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43197
diff changeset
   289
  $ hg perfstatus --dirstate
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   290
  $ hg perftags
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   291
  $ hg perftemplating
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   292
  $ hg perfvolatilesets
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   293
  $ hg perfwalk
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   294
  $ hg perfparents
40941
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
   295
  $ hg perfdiscovery -q .
51413
8fc92193a2cf phases: use a more generic way to trigger a phases computation for perf
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51177
diff changeset
   296
  $ hg perf::phases
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   297
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   298
Test run control
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   299
----------------
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   300
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   301
Simple single entry
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   302
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   303
  $ hg perfparents --config perf.stub=no --config perf.run-limits='0.000000001-15'
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   304
  ! wall * comb * user * sys * (best of 15) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   305
  ! wall * comb * user * sys * (max of 15) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   306
  ! wall * comb * user * sys * (avg of 15) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   307
  ! wall * comb * user * sys * (median of 15) (glob)
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   308
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   309
Multiple entries
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   310
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   311
  $ hg perfparents --config perf.stub=no --config perf.run-limits='500000-1, 0.000000001-50'
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   312
  ! wall * comb * user * sys * (best of 50) (glob)
51177
1c4180d49baf test: use more globing for perf timing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50993
diff changeset
   313
  ! wall * comb * user * sys * (max of 50) (glob)
1c4180d49baf test: use more globing for perf timing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50993
diff changeset
   314
  ! wall * comb * user * sys * (avg of 50) (glob)
1c4180d49baf test: use more globing for perf timing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50993
diff changeset
   315
  ! wall * comb * user * sys * (median of 50) (glob)
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   316
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   317
error case are ignored
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   318
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   319
  $ hg perfparents --config perf.stub=no --config perf.run-limits='500, 0.000000001-50'
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   320
  malformatted run limit entry, missing "-": 500
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   321
  ! wall * comb * user * sys * (best of 50) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   322
  ! wall * comb * user * sys * (max of 50) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   323
  ! wall * comb * user * sys * (avg of 50) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   324
  ! wall * comb * user * sys * (median of 50) (glob)
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   325
  $ hg perfparents --config perf.stub=no --config perf.run-limits='aaa-120, 0.000000001-50'
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   326
  malformatted run limit entry, could not convert string to float: 'aaa': aaa-120
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   327
  ! wall * comb * user * sys * (best of 50) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   328
  ! wall * comb * user * sys * (max of 50) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   329
  ! wall * comb * user * sys * (avg of 50) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   330
  ! wall * comb * user * sys * (median of 50) (glob)
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   331
  $ hg perfparents --config perf.stub=no --config perf.run-limits='120-aaaaaa, 0.000000001-50'
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   332
  malformatted run limit entry, invalid literal for int() with base 10: 'aaaaaa': 120-aaaaaa
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   333
  ! wall * comb * user * sys * (best of 50) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   334
  ! wall * comb * user * sys * (max of 50) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   335
  ! wall * comb * user * sys * (avg of 50) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   336
  ! wall * comb * user * sys * (median of 50) (glob)
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   337
38694
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   338
test actual output
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   339
------------------
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   340
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   341
normal output:
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   342
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   343
  $ hg perfheads --config perf.stub=no
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   344
  ! wall * comb * user * sys * (best of *) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   345
  ! wall * comb * user * sys * (max of *) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   346
  ! wall * comb * user * sys * (avg of *) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   347
  ! wall * comb * user * sys * (median of *) (glob)
38694
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   348
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   349
detailed output:
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   350
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   351
  $ hg perfheads --config perf.all-timing=yes --config perf.stub=no
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   352
  ! wall * comb * user * sys * (best of *) (glob)
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   353
  ! wall * comb * user * sys * (max of *) (glob)
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   354
  ! wall * comb * user * sys * (avg of *) (glob)
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   355
  ! wall * comb * user * sys * (median of *) (glob)
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   356
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   357
test json output
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   358
----------------
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   359
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   360
normal output:
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   361
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   362
  $ hg perfheads --template json --config perf.stub=no
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   363
  [
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   364
   {
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   365
    "avg.comb": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   366
    "avg.count": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   367
    "avg.sys": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   368
    "avg.user": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   369
    "avg.wall": *, (glob)
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   370
    "comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   371
    "count": *, (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   372
    "max.comb": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   373
    "max.count": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   374
    "max.sys": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   375
    "max.user": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   376
    "max.wall": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   377
    "median.comb": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   378
    "median.count": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   379
    "median.sys": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   380
    "median.user": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   381
    "median.wall": *, (glob)
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   382
    "sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   383
    "user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   384
    "wall": * (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   385
   }
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   386
  ]
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   387
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   388
detailed output:
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   389
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   390
  $ hg perfheads --template json --config perf.all-timing=yes --config perf.stub=no
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   391
  [
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   392
   {
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   393
    "avg.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   394
    "avg.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   395
    "avg.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   396
    "avg.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   397
    "avg.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   398
    "comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   399
    "count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   400
    "max.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   401
    "max.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   402
    "max.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   403
    "max.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   404
    "max.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   405
    "median.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   406
    "median.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   407
    "median.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   408
    "median.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   409
    "median.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   410
    "sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   411
    "user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   412
    "wall": * (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   413
   }
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   414
  ]
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   415
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   416
Test pre-run feature
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   417
--------------------
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   418
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   419
(perf discovery has some spurious output)
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   420
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   421
  $ hg perfdiscovery . --config perf.stub=no --config perf.run-limits='0.000000001-1' --config perf.pre-run=0
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   422
  ! wall * comb * user * sys * (best of 1) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   423
  ! wall * comb * user * sys * (max of 1) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   424
  ! wall * comb * user * sys * (avg of 1) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   425
  ! wall * comb * user * sys * (median of 1) (glob)
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   426
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   427
  $ hg perfdiscovery . --config perf.stub=no --config perf.run-limits='0.000000001-1' --config perf.pre-run=1
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   428
  ! wall * comb * user * sys * (best of 1) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   429
  ! wall * comb * user * sys * (max of 1) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   430
  ! wall * comb * user * sys * (avg of 1) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   431
  ! wall * comb * user * sys * (median of 1) (glob)
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   432
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   433
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   434
  $ hg perfdiscovery . --config perf.stub=no --config perf.run-limits='0.000000001-1' --config perf.pre-run=3
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   435
  ! wall * comb * user * sys * (best of 1) (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   436
  ! wall * comb * user * sys * (max of 1) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   437
  ! wall * comb * user * sys * (avg of 1) (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   438
  ! wall * comb * user * sys * (median of 1) (glob)
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   439
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   440
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   441
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   442
  searching for changes
49411
b081a5aab782 perf-bundle: add a new command to benchmark bundle creation time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48874
diff changeset
   443
  $ hg perf::bundle 'last(all(), 5)'
49414
3c5d0f879404 perf-unbundle: add a perf command to time the unbundle operation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49411
diff changeset
   444
  $ hg bundle --exact --rev 'last(all(), 5)' last-5.hg
3c5d0f879404 perf-unbundle: add a perf command to time the unbundle operation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49411
diff changeset
   445
  4 changesets found
3c5d0f879404 perf-unbundle: add a perf command to time the unbundle operation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49411
diff changeset
   446
  $ hg perf::unbundle last-5.hg
3c5d0f879404 perf-unbundle: add a perf command to time the unbundle operation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49411
diff changeset
   447
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   448
42360
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   449
test  profile-benchmark option
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   450
------------------------------
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   451
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   452
Function to check that statprof ran
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   453
  $ statprofran () {
50725
7e5be4a7cda7 tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents: 50686
diff changeset
   454
  >   grep -E 'Sample count:|No samples recorded' > /dev/null
42360
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   455
  > }
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   456
  $ hg perfdiscovery . --config perf.stub=no --config perf.run-limits='0.000000001-1' --config perf.profile-benchmark=yes 2>&1 | statprofran
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   457
29570
cbd240188e4e tests: introduce check-perf-code.py to add extra checks on perf.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29219
diff changeset
   458
Check perf.py for historical portability
38694
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   459
----------------------------------------
29570
cbd240188e4e tests: introduce check-perf-code.py to add extra checks on perf.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29219
diff changeset
   460
cbd240188e4e tests: introduce check-perf-code.py to add extra checks on perf.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29219
diff changeset
   461
  $ cd "$TESTDIR/.."
cbd240188e4e tests: introduce check-perf-code.py to add extra checks on perf.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29219
diff changeset
   462
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
   463
  $ (testrepohg files -r 1.2 glob:mercurial/*.c glob:mercurial/*.py;
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
   464
  >  testrepohg files -r tip glob:mercurial/*.c glob:mercurial/*.py) |
29571
d1a7d9c279bb tests: check importing modules in perf.py for historical portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29570
diff changeset
   465
  > "$TESTDIR"/check-perf-code.py contrib/perf.py
35599
af25237be091 perf: add threading capability to perfbdiff
Boris Feld <boris.feld@octobus.net>
parents: 35109
diff changeset
   466
  contrib/perf.py:\d+: (re)
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   467
   >     from mercurial import (
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   468
   import newer module separately in try clause for early Mercurial
39140
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   469
  contrib/perf.py:\d+: (re)
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   470
   >     from mercurial import (
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   471
   import newer module separately in try clause for early Mercurial
40550
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   472
  contrib/perf.py:\d+: (re)
47148
a07d5cb03a85 revlog: rename `indexfile` to `_indexfile`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46388
diff changeset
   473
   >     origindexpath = orig.opener.join(indexfile)
40550
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   474
   use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   475
  contrib/perf.py:\d+: (re)
47149
396442cd7e6a revlog: rename `datafile` to `datafile`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47148
diff changeset
   476
   >     origdatapath = orig.opener.join(datafile)
40550
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   477
   use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   478
  contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   479
   >         vfs = vfsmod.vfs(tmpdir)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   480
   use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   481
  contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   482
   >         vfs.options = getattr(orig.opener, 'options', None)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   483
   use getvfs()/getsvfs() for early Mercurial
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   484
  [1]