tests/test-contrib-perf.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Sun, 14 Apr 2024 02:38:41 +0200
changeset 51589 90ef3e042e10
parent 51413 8fc92193a2cf
permissions -rw-r--r--
perf: allow profiling of more than one run By default, we still profile the first run only. However profiling more run help to understand side effect from one run to the other. So we add an option to be able to do so.
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"
51589
90ef3e042e10 perf: allow profiling of more than one run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51413
diff changeset
    62
    Enable profiling for the benchmarked section. (by default, the first
90ef3e042e10 perf: allow profiling of more than one run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51413
diff changeset
    63
    iteration is benchmarked)
90ef3e042e10 perf: allow profiling of more than one run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51413
diff changeset
    64
  
90ef3e042e10 perf: allow profiling of more than one run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51413
diff changeset
    65
  "profiled-runs"
90ef3e042e10 perf: allow profiling of more than one run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51413
diff changeset
    66
    list of iteration to profile (starting from 0)
42360
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
    67
  
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    68
  "run-limits"
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    69
    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
    70
    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
    71
    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
    72
  
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    73
        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
    74
        <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
    75
  
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
    76
    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
    77
  
42015
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    78
  "stub"
42021
4c700c847aa2 perf: copyedit a few documentation strings
Augie Fackler <augie@google.com>
parents: 42019
diff changeset
    79
      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
    80
      off)
dbca2e5563c3 perf: document config options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42014
diff changeset
    81
  
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    82
  list of commands:
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    83
  
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
    84
   perf::addremove
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
    85
                 (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
    86
   perf::ancestors
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    87
                 (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
    88
   perf::ancestorset
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    89
                 (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
    90
   perf::annotate
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    91
                 (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
    92
   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
    93
   perf::bookmarks
32733
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
    94
                 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
    95
   perf::branchmap
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
    96
                 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
    97
   perf::branchmapload
39114
222aba766015 perf: time loading branchmap caches
Martijn Pieters <mj@octobus.net>
parents: 38969
diff changeset
    98
                 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
    99
   perf::branchmapupdate
40768
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
   100
                 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
   101
                 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
   102
   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
   103
   perf::bundleread
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   104
                 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
   105
   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
   106
   perf::changegroupchangelog
30018
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
   107
                 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
   108
   perf::changeset
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   109
                 (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
   110
   perf::ctxfiles
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   111
                 (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
   112
   perf::delta-find
44d4fd09982f perf: introduce a benchmark for delta-find
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49414
diff changeset
   113
                 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
   114
                 revision
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   115
   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
   116
   perf::dirfoldmap
43127
0b32206c3c86 perf: document `perfdirfoldmap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43125
diff changeset
   117
                 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
   118
   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
   119
   perf::dirstate
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   120
                 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
   121
   perf::dirstatedirs
43123
69301b79fd36 perf: document `perfdirstatedirs`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43121
diff changeset
   122
                 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
   123
   perf::dirstatefoldmap
43125
56494a2bfe2f perf: document `perfdirstatefoldmap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43123
diff changeset
   124
                 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
   125
   perf::dirstatewrite
43129
97f9ef777a75 perf: document `perfdirstatewrite`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43127
diff changeset
   126
                 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
   127
   perf::discovery
40941
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
   128
                 benchmark discovery between local repo and the peer at given
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
   129
                 path
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   130
   perf::fncacheencode
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   131
                 (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
   132
   perf::fncacheload
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   133
                 (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
   134
   perf::fncachewrite
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   135
                 (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
   136
   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
   137
   perf::helper-mergecopies
42385
21c436a3a4e8 perf: add a `perfhelper-mergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42384
diff changeset
   138
                 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
   139
                 'perfmergecopies'
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   140
   perf::helper-pathcopies
40691
a65fe13de84f perf: add a new `perfhelper-tracecopies` command
Boris Feld <boris.feld@octobus.net>
parents: 40550
diff changeset
   141
                 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
   142
                 'perftracecopies'
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   143
   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
   144
   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
   145
   perf::linelogedits
38969
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
   146
                 (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
   147
   perf::loadmarkers
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   148
                 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
   149
   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
   150
   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
   151
   perf::lrucachedict
27286
528cf1a73ae5 perf: add perflrucachedict command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27101
diff changeset
   152
                 (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
   153
   perf::manifest
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   154
                 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
   155
                 usable
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   156
   perf::mergecalculate
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   157
                 (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
   158
   perf::mergecopies
42384
f5f0a9490c05 perf: add a new `perfmergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42360
diff changeset
   159
                 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
   160
   perf::moonwalk
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   161
                 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
   162
   perf::nodelookup
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   163
                 (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
   164
   perf::nodemap
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 look up revision from a cold
41469
c9ff93889550 perf: add a perfnodemap command
Boris Feld <boris.feld@octobus.net>
parents: 41437
diff changeset
   166
                 nodemap
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   167
   perf::parents
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   168
                 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
   169
   perf::pathcopies
40739
dc3ab5e5fe64 perf: add a docstring to `perfpathcopies`
Boris Feld <boris.feld@octobus.net>
parents: 40720
diff changeset
   170
                 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
   171
   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
   172
   perf::phasesremote
39140
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   173
                 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
   174
   perf::progress
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   175
                 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
   176
   perf::rawfiles
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   177
                 (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
   178
   perf::revlogchunks
30451
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
   179
                 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
   180
   perf::revlogindex
32532
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
   181
                 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
   182
   perf::revlogrevision
27470
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
   183
                 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
   184
   perf::revlogrevisions
32531
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
   185
                 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
   186
   perf::revlogwrite
40550
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   187
                 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
   188
   perf::revrange
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::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
   191
   perf::startup
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   192
                 (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
   193
   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
   194
   perf::stream-consume
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   195
                 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
   196
   perf::stream-generate
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   197
                 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
   198
   perf::stream-locked-section
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50622
diff changeset
   199
                 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
   200
   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
   201
   perf::templating
38258
ae6e02fcee24 perftemplating: allow to specify the template to test
Boris Feld <boris.feld@octobus.net>
parents: 37416
diff changeset
   202
                 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
   203
   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
   204
                 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
   205
   perf::unidiff
46354
b8d8fd2fe75f perf: use the `perf--` prefix for perf command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44996
diff changeset
   206
                 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
   207
   perf::volatilesets
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   208
                 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
   209
   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
   210
   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
   211
  
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
   212
  (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
   213
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   214
  $ hg help perfaddremove
46388
d8ad391e10f5 command-namespace: use `::` are the command separator
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46387
diff changeset
   215
  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
   216
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   217
  aliases: perfaddremove
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   218
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   219
  (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
   220
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   221
  options:
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   222
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   223
   -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
   224
  
c41ac8985fe4 perf: test the formatting of a command help
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46354
diff changeset
   225
  (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
   226
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   227
  $ hg perfaddremove
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   228
  $ hg perfancestors
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   229
  $ hg perfancestorset 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   230
  $ hg perfannotate a
30307
c8fa7ad1ff90 perf: add perfbdiff
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30018
diff changeset
   231
  $ hg perfbdiff -c 1
30426
605e3b126d46 perf: unbust perfbdiff --alldata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30336
diff changeset
   232
  $ 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
   233
  $ hg perfunidiff -c 1
ed939545edd0 perf: add a perfunidiff command for benchmarking unified diff speed
Augie Fackler <augie@google.com>
parents: 35599
diff changeset
   234
  $ hg perfunidiff --alldata 1
32733
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
   235
  $ hg perfbookmarks
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   236
  $ 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
   237
  $ hg perfbranchmapload
40768
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
   238
  $ hg perfbranchmapupdate --base "not tip" --target "tip"
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
   239
  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
   240
  $ hg perfcca
30018
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
   241
  $ hg perfchangegroupchangelog
40713
cfaf3843491b perf: rename version flag of perfchangegroupchangelog to cgversion
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 40691
diff changeset
   242
  $ hg perfchangegroupchangelog --cgversion 01
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   243
  $ hg perfchangeset 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   244
  $ hg perfctxfiles 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   245
  $ hg perfdiffwd
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   246
  $ hg perfdirfoldmap
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   247
  $ hg perfdirs
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   248
  $ 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
   249
  $ hg perfdirstate --contains
43196
5f9b1250b82a perf: introduce a `--iteration` to `perfdirstate`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43129
diff changeset
   250
  $ hg perfdirstate --iteration
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   251
  $ hg perfdirstatedirs
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   252
  $ hg perfdirstatefoldmap
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   253
  $ hg perfdirstatewrite
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   254
#if repofncache
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   255
  $ hg perffncacheencode
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   256
  $ hg perffncacheload
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
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   259
  $ hg perffncachewrite
38695
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
   260
  $ hg debugrebuildfncache
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
   261
  fncache already up to date
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   262
#endif
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   263
  $ hg perfheads
40750
45a0047c0ebc perf: add a perfignore command
Boris Feld <boris.feld@octobus.net>
parents: 40740
diff changeset
   264
  $ hg perfignore
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   265
  $ hg perfindex
38969
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
   266
  $ hg perflinelogedits -n 1
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   267
  $ hg perfloadmarkers
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   268
  $ hg perflog
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   269
  $ hg perflookup 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   270
  $ hg perflrucache
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   271
  $ hg perfmanifest 2
39318
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   272
  $ hg perfmanifest -m 44fe2c8352bb3a478ffd7d8350bbc721920134d1
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   273
  $ hg perfmanifest -m 44fe2c8352bb
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
   274
  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
   275
  [255]
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   276
  $ hg perfmergecalculate -r 3
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   277
  $ hg perfmoonwalk
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   278
  $ hg perfnodelookup 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   279
  $ hg perfpathcopies 1 2
40925
008f3491dc53 perf: add perfprogress command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40768
diff changeset
   280
  $ hg perfprogress --total 1000
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   281
  $ hg perfrawfiles 2
32532
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
   282
  $ 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
   283
#if reporevlogstore
32531
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
   284
  $ 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
   285
#endif
27470
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
   286
  $ hg perfrevlogrevision -m 0
30451
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
   287
  $ hg perfrevlogchunks -c
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   288
  $ hg perfrevrange
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   289
  $ hg perfrevset 'all()'
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   290
  $ hg perfstartup
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   291
  $ hg perfstatus
43436
bfc68404cccd perf: add a way to benchmark `dirstate.status`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43197
diff changeset
   292
  $ hg perfstatus --dirstate
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   293
  $ hg perftags
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   294
  $ hg perftemplating
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   295
  $ hg perfvolatilesets
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   296
  $ hg perfwalk
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
   297
  $ hg perfparents
40941
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
   298
  $ 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
   299
  $ hg perf::phases
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
   300
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   301
Test run control
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
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   304
Simple single entry
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   305
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   306
  $ 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
   307
  ! 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
   308
  ! 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
   309
  ! 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
   310
  ! 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
   311
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   312
Multiple entries
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   313
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   314
  $ 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
   315
  ! 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
   316
  ! 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
   317
  ! 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
   318
  ! 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
   319
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   320
error case are ignored
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
   321
50622
553865308b15 test: make test-contrib-perf.t more robust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49877
diff changeset
   322
  $ 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
   323
  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
   324
  ! 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
   325
  ! 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
   326
  ! 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
   327
  ! 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
   328
  $ 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
   329
  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
   330
  ! 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
   331
  ! 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
   332
  ! 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
   333
  ! 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
   334
  $ 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
   335
  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
   336
  ! 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
   337
  ! 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
   338
  ! 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
   339
  ! 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
   340
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
   341
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
   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
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
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
   345
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
   346
  $ 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
   347
  ! 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
   348
  ! 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
   349
  ! 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
   350
  ! 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
   351
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
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
   353
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
  $ 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
   355
  ! 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
   356
  ! 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
   357
  ! 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
   358
  ! 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
   359
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   360
test json 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
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   363
normal output:
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   364
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   365
  $ hg perfheads --template json --config perf.stub=no
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   366
  [
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   367
   {
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   368
    "avg.comb": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   369
    "avg.count": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   370
    "avg.sys": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   371
    "avg.user": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   372
    "avg.wall": *, (glob)
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   373
    "comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   374
    "count": *, (glob)
50802
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   375
    "max.comb": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   376
    "max.count": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   377
    "max.sys": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   378
    "max.user": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   379
    "max.wall": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   380
    "median.comb": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   381
    "median.count": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   382
    "median.sys": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   383
    "median.user": *, (glob)
cf0502231d56 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50725
diff changeset
   384
    "median.wall": *, (glob)
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   385
    "sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   386
    "user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   387
    "wall": * (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   388
   }
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
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   391
detailed output:
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
  $ 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
   394
  [
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   395
   {
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   396
    "avg.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   397
    "avg.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   398
    "avg.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   399
    "avg.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   400
    "avg.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   401
    "comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   402
    "count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   403
    "max.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   404
    "max.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   405
    "max.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   406
    "max.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   407
    "max.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   408
    "median.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   409
    "median.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   410
    "median.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   411
    "median.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   412
    "median.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   413
    "sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   414
    "user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   415
    "wall": * (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   416
   }
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   417
  ]
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
   418
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   419
Test pre-run feature
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
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   422
(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
   423
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   424
  $ 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
   425
  ! 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
   426
  ! 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
   427
  ! 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
   428
  ! 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
   429
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   430
  $ 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
   431
  ! 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
   432
  ! 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
   433
  ! 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
   434
  ! 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
   435
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   436
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   437
  $ 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
   438
  ! 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
   439
  ! 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
   440
  ! 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
   441
  ! 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
   442
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   443
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   444
  searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   445
  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
   446
  $ 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
   447
  $ 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
   448
  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
   449
  $ 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
   450
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
   451
42360
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   452
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
   453
------------------------------
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   454
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   455
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
   456
  $ statprofran () {
50725
7e5be4a7cda7 tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents: 50686
diff changeset
   457
  >   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
   458
  > }
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
   459
  $ 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
   460
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
   461
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
   462
----------------------------------------
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
   463
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
   464
  $ 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
   465
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
   466
  $ (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
   467
  >  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
   468
  > "$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
   469
  contrib/perf.py:\d+: (re)
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   470
   >     from mercurial import (
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
   471
   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
   472
  contrib/perf.py:\d+: (re)
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   473
   >     from mercurial import (
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
   474
   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
   475
  contrib/perf.py:\d+: (re)
47148
a07d5cb03a85 revlog: rename `indexfile` to `_indexfile`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46388
diff changeset
   476
   >     origindexpath = orig.opener.join(indexfile)
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)
47149
396442cd7e6a revlog: rename `datafile` to `datafile`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47148
diff changeset
   479
   >     origdatapath = orig.opener.join(datafile)
40550
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 = vfsmod.vfs(tmpdir)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   483
   use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   484
  contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   485
   >         vfs.options = getattr(orig.opener, 'options', None)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
   486
   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
   487
  [1]