annotate tests/test-contrib-perf.t @ 45064:41b32cbc53f8

commitctx: document _filecommit input and output This is the beginning of a larger refactoring/cleanup of the commitctx code to clarify and augment the logic gathering metadata useful for copy tracing. The current code is a tad too long and entangled to make such update easy. We start with easy and small cleanup. Differential Revision: https://phab.mercurial-scm.org/D8699
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 06 Jul 2020 18:52:19 +0200
parents c2df0bca0dfa
children b8d8fd2fe75f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
81 perfaddremove
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
82 (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
83 perfancestors
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
84 (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
85 perfancestorset
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
86 (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
87 perfannotate (no help text available)
30336
7ddc8f8d7712 perf: support bdiffing multiple revisions in a single revlog
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30307
diff changeset
88 perfbdiff benchmark a bdiff between revisions
32733
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
89 perfbookmarks
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
90 benchmark parsing bookmarks from disk to memory
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
91 perfbranchmap
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
92 benchmark the update of a branchmap
39114
222aba766015 perf: time loading branchmap caches
Martijn Pieters <mj@octobus.net>
parents: 38969
diff changeset
93 perfbranchmapload
222aba766015 perf: time loading branchmap caches
Martijn Pieters <mj@octobus.net>
parents: 38969
diff changeset
94 benchmark reading the branchmap
40768
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
95 perfbranchmapupdate
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
96 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
97 revs
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
98 perfbundleread
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
99 Benchmark reading of bundle files.
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
100 perfcca (no help text available)
30018
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
101 perfchangegroupchangelog
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
102 Benchmark producing a changelog group for a changegroup.
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
103 perfchangeset
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
104 (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
105 perfctxfiles (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
106 perfdiffwd Profile diff of working directory changes
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
107 perfdirfoldmap
43127
0b32206c3c86 perf: document `perfdirfoldmap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43125
diff changeset
108 benchmap a 'dirstate._map.dirfoldmap.get()' request
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
109 perfdirs (no help text available)
43196
5f9b1250b82a perf: introduce a `--iteration` to `perfdirstate`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43129
diff changeset
110 perfdirstate benchmap the time of various distate operations
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
111 perfdirstatedirs
43123
69301b79fd36 perf: document `perfdirstatedirs`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43121
diff changeset
112 benchmap a 'dirstate.hasdir' call from an empty 'dirs' cache
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
113 perfdirstatefoldmap
43125
56494a2bfe2f perf: document `perfdirstatefoldmap`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43123
diff changeset
114 benchmap a 'dirstate._map.filefoldmap.get()' request
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
115 perfdirstatewrite
43129
97f9ef777a75 perf: document `perfdirstatewrite`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43127
diff changeset
116 benchmap the time it take to write a dirstate on disk
40941
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
117 perfdiscovery
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
118 benchmark discovery between local repo and the peer at given
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
119 path
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
120 perffncacheencode
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
121 (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
122 perffncacheload
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
123 (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
124 perffncachewrite
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
125 (no help text available)
41434
48394923fbdc perf: document perfheads
Boris Feld <boris.feld@octobus.net>
parents: 40941
diff changeset
126 perfheads benchmark the computation of a changelog heads
42385
21c436a3a4e8 perf: add a `perfhelper-mergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42384
diff changeset
127 perfhelper-mergecopies
21c436a3a4e8 perf: add a `perfhelper-mergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42384
diff changeset
128 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
129 'perfmergecopies'
40740
30d878cb102d perf: rename `perfhelper-tracecopies` to `perfhelper-pathcopies`
Boris Feld <boris.feld@octobus.net>
parents: 40739
diff changeset
130 perfhelper-pathcopies
40691
a65fe13de84f perf: add a new `perfhelper-tracecopies` command
Boris Feld <boris.feld@octobus.net>
parents: 40550
diff changeset
131 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
132 'perftracecopies'
40750
45a0047c0ebc perf: add a perfignore command
Boris Feld <boris.feld@octobus.net>
parents: 40740
diff changeset
133 perfignore benchmark operation related to computing ignore
41437
d65ba1ff4559 perf: add some documentation to perfindex
Boris Feld <boris.feld@octobus.net>
parents: 41434
diff changeset
134 perfindex benchmark index creation time followed by a lookup
38969
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
135 perflinelogedits
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
136 (no help text available)
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
137 perfloadmarkers
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
138 benchmark the time to parse the on-disk markers for a repo
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
139 perflog (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
140 perflookup (no help text available)
27286
528cf1a73ae5 perf: add perflrucachedict command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27101
diff changeset
141 perflrucachedict
528cf1a73ae5 perf: add perflrucachedict command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27101
diff changeset
142 (no help text available)
38693
9b6a708f2263 perf: document the perfmanifest command
Boris Feld <boris.feld@octobus.net>
parents: 38258
diff changeset
143 perfmanifest benchmark the time to read a manifest from disk and return a
9b6a708f2263 perf: document the perfmanifest command
Boris Feld <boris.feld@octobus.net>
parents: 38258
diff changeset
144 usable
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
145 perfmergecalculate
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
146 (no help text available)
42384
f5f0a9490c05 perf: add a new `perfmergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42360
diff changeset
147 perfmergecopies
f5f0a9490c05 perf: add a new `perfmergecopies` command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42360
diff changeset
148 measure runtime of 'copies.mergecopies'
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
149 perfmoonwalk benchmark walking the changelog backwards
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
150 perfnodelookup
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
151 (no help text available)
41469
c9ff93889550 perf: add a perfnodemap command
Boris Feld <boris.feld@octobus.net>
parents: 41437
diff changeset
152 perfnodemap benchmark the time necessary to look up revision from a cold
c9ff93889550 perf: add a perfnodemap command
Boris Feld <boris.feld@octobus.net>
parents: 41437
diff changeset
153 nodemap
42016
b900b392c1cc perf: document perfparents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42015
diff changeset
154 perfparents benchmark the time necessary to fetch one changeset's parents.
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
155 perfpathcopies
40739
dc3ab5e5fe64 perf: add a docstring to `perfpathcopies`
Boris Feld <boris.feld@octobus.net>
parents: 40720
diff changeset
156 benchmark the copy tracing logic
32467
ad37c569ec81 perfphases: add 'perfphases' command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32230
diff changeset
157 perfphases benchmark phasesets computation
39140
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
158 perfphasesremote
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
159 benchmark time needed to analyse phases of the remote server
40925
008f3491dc53 perf: add perfprogress command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40768
diff changeset
160 perfprogress printing of progress bars
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
161 perfrawfiles (no help text available)
30451
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
162 perfrevlogchunks
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
163 Benchmark operations on revlog chunks.
32532
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
164 perfrevlogindex
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
165 Benchmark operations against a revlog index.
27470
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
166 perfrevlogrevision
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
167 Benchmark obtaining a revlog revision.
32531
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
168 perfrevlogrevisions
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
169 Benchmark reading a series of revisions from a revlog.
40550
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
170 perfrevlogwrite
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
171 Benchmark writing a series of revisions to a revlog.
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
172 perfrevrange (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
173 perfrevset benchmark the execution time of a revset
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
174 perfstartup (no help text available)
43120
97f80dd21312 perf: document `perfstatus`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42385
diff changeset
175 perfstatus benchmark the performance of a single status call
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
176 perftags (no help text available)
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
177 perftemplating
38258
ae6e02fcee24 perftemplating: allow to specify the template to test
Boris Feld <boris.feld@octobus.net>
parents: 37416
diff changeset
178 test the rendering time of a given template
35861
ed939545edd0 perf: add a perfunidiff command for benchmarking unified diff speed
Augie Fackler <augie@google.com>
parents: 35599
diff changeset
179 perfunidiff benchmark a unified diff between revisions
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
180 perfvolatilesets
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
181 benchmark the computation of various volatile set
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
182 perfwalk (no help text available)
44996
c2df0bca0dfa perf: make `hg perfwrite` more flexible
Manuel Jacob <me@manueljacob.de>
parents: 43436
diff changeset
183 perfwrite microbenchmark ui.write (and others)
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
184
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
185 (use 'hg help -v perf' to show built-in aliases and global options)
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
186 $ hg perfaddremove
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
187 $ hg perfancestors
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
188 $ hg perfancestorset 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
189 $ hg perfannotate a
30307
c8fa7ad1ff90 perf: add perfbdiff
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30018
diff changeset
190 $ hg perfbdiff -c 1
30426
605e3b126d46 perf: unbust perfbdiff --alldata
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30336
diff changeset
191 $ 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
192 $ hg perfunidiff -c 1
ed939545edd0 perf: add a perfunidiff command for benchmarking unified diff speed
Augie Fackler <augie@google.com>
parents: 35599
diff changeset
193 $ hg perfunidiff --alldata 1
32733
2b0a8b0f3435 perf: add a perfbookmarks command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32532
diff changeset
194 $ hg perfbookmarks
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
195 $ 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
196 $ hg perfbranchmapload
40768
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
197 $ hg perfbranchmapupdate --base "not tip" --target "tip"
f723014677a5 perf: add a `perfbranchmapupdate` command
Boris Feld <boris.feld@octobus.net>
parents: 40750
diff changeset
198 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
199 $ hg perfcca
30018
bd6df07ccc24 perf: add perfchangegroupchangelog command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29974
diff changeset
200 $ hg perfchangegroupchangelog
40713
cfaf3843491b perf: rename version flag of perfchangegroupchangelog to cgversion
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 40691
diff changeset
201 $ hg perfchangegroupchangelog --cgversion 01
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
202 $ hg perfchangeset 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
203 $ hg perfctxfiles 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
204 $ hg perfdiffwd
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
205 $ hg perfdirfoldmap
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
206 $ hg perfdirs
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
207 $ 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
208 $ hg perfdirstate --contains
43196
5f9b1250b82a perf: introduce a `--iteration` to `perfdirstate`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43129
diff changeset
209 $ hg perfdirstate --iteration
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
210 $ hg perfdirstatedirs
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
211 $ hg perfdirstatefoldmap
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
212 $ hg perfdirstatewrite
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
213 #if repofncache
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
214 $ hg perffncacheencode
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
215 $ hg perffncacheload
38695
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
216 $ hg debugrebuildfncache
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
217 fncache already up to date
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
218 $ hg perffncachewrite
38695
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
219 $ hg debugrebuildfncache
2cdb82e8fb44 perffncachewrite: load fncache after lock is acquired
Boris Feld <boris.feld@octobus.net>
parents: 38694
diff changeset
220 fncache already up to date
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
221 #endif
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
222 $ hg perfheads
40750
45a0047c0ebc perf: add a perfignore command
Boris Feld <boris.feld@octobus.net>
parents: 40740
diff changeset
223 $ hg perfignore
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
224 $ hg perfindex
38969
1601afbb573c perf: add a command to benchmark linelog edits
Jun Wu <quark@fb.com>
parents: 38695
diff changeset
225 $ hg perflinelogedits -n 1
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
226 $ hg perfloadmarkers
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
227 $ hg perflog
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
228 $ hg perflookup 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
229 $ hg perflrucache
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
230 $ hg perfmanifest 2
39318
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
231 $ hg perfmanifest -m 44fe2c8352bb3a478ffd7d8350bbc721920134d1
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
232 $ hg perfmanifest -m 44fe2c8352bb
c03c5f528e9b perf: use storage API for resolving manifest node
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39147
diff changeset
233 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
234 [255]
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
235 $ hg perfmergecalculate -r 3
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
236 $ hg perfmoonwalk
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
237 $ hg perfnodelookup 2
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
238 $ hg perfpathcopies 1 2
40925
008f3491dc53 perf: add perfprogress command
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40768
diff changeset
239 $ hg perfprogress --total 1000
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
240 $ hg perfrawfiles 2
32532
e4f514627514 perf: benchmark command for revlog indexes
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32531
diff changeset
241 $ 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
242 #if reporevlogstore
32531
7236facefd4f perf: rename perfrevlog to perfrevlogrevisions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32467
diff changeset
243 $ 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
244 #endif
27470
d394a1a3708a perf: add perfrevlogrevision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27315
diff changeset
245 $ hg perfrevlogrevision -m 0
30451
94ca0e13d1fc perf: add command for measuring revlog chunk operations
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30426
diff changeset
246 $ hg perfrevlogchunks -c
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
247 $ hg perfrevrange
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
248 $ hg perfrevset 'all()'
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
249 $ hg perfstartup
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
250 $ hg perfstatus
43436
bfc68404cccd perf: add a way to benchmark `dirstate.status`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43197
diff changeset
251 $ hg perfstatus --dirstate
27315
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
252 $ hg perftags
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
253 $ hg perftemplating
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
254 $ hg perfvolatilesets
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
255 $ hg perfwalk
be48b7559422 tests: drop require slow in test-contrib-perf
timeless <timeless@mozdev.org>
parents: 27309
diff changeset
256 $ hg perfparents
40941
db6cace18765 perfdiscovery: benching findcommonheads()
Georges Racinet <gracinet@anybox.fr>
parents: 40925
diff changeset
257 $ hg perfdiscovery -q .
27101
61fbf5dc12b2 test-contrib-perf: add smoke tests for perf.py
timeless <timeless@mozdev.org>
parents:
diff changeset
258
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
259 Test run control
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
260 ----------------
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
261
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
262 Simple single entry
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
263
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
264 $ 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
265 ! wall * comb * user * sys * (best of 15) (glob)
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
266
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
267 Multiple entries
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
268
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
269 $ hg perfparents --config perf.stub=no --config perf.run-limits='500000-1, 0.000000001-5'
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
270 ! wall * comb * user * sys * (best of 5) (glob)
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
271
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
272 error case are ignored
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
273
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
274 $ hg perfparents --config perf.stub=no --config perf.run-limits='500, 0.000000001-5'
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
275 malformatted run limit entry, missing "-": 500
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
276 ! wall * comb * user * sys * (best of 5) (glob)
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
277 $ hg perfparents --config perf.stub=no --config perf.run-limits='aaa-12, 0.000000001-5'
42063
912d82daeda3 perf: make perf.run-limits code work with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 42021
diff changeset
278 malformatted run limit entry, could not convert string to float: aaa: aaa-12 (no-py3 !)
912d82daeda3 perf: make perf.run-limits code work with Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 42021
diff changeset
279 malformatted run limit entry, could not convert string to float: 'aaa': aaa-12 (py3 !)
42019
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
280 ! wall * comb * user * sys * (best of 5) (glob)
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
281 $ hg perfparents --config perf.stub=no --config perf.run-limits='12-aaaaaa, 0.000000001-5'
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
282 malformatted run limit entry, invalid literal for int() with base 10: 'aaaaaa': 12-aaaaaa
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
283 ! wall * comb * user * sys * (best of 5) (glob)
5a1e621b8186 perf: introduce a `perf.run-limits` options
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42016
diff changeset
284
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
285 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
286 ------------------
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
287
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
288 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
289
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
290 $ 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
291 ! 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
292
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
293 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
294
55101513ed94 perf: add a 'perf.all-timing' option to display more than best time
Boris Feld <boris.feld@octobus.net>
parents: 38693
diff changeset
295 $ 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
296 ! 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
297 ! 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
298 ! 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
299 ! 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
300
40141
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
301 test json output
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
302 ----------------
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
303
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
304 normal output:
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
305
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
306 $ hg perfheads --template json --config perf.stub=no
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
307 [
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
308 {
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
309 "comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
310 "count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
311 "sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
312 "user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
313 "wall": * (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
314 }
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
315 ]
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
316
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
317 detailed output:
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
318
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
319 $ 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
320 [
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
321 {
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
322 "avg.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
323 "avg.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
324 "avg.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
325 "avg.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
326 "avg.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
327 "comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
328 "count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
329 "max.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
330 "max.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
331 "max.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
332 "max.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
333 "max.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
334 "median.comb": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
335 "median.count": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
336 "median.sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
337 "median.user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
338 "median.wall": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
339 "sys": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
340 "user": *, (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
341 "wall": * (glob)
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
342 }
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
343 ]
8643219146e1 perf: fix -T json
Boris Feld <boris.feld@octobus.net>
parents: 39318
diff changeset
344
42359
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
345 Test pre-run feature
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
346 --------------------
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
347
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
348 (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
349
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
350 $ 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
351 ! wall * comb * user * sys * (best of 1) (glob)
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
352 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
353 $ 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
354 ! wall * comb * user * sys * (best of 1) (glob)
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
355 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
356 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
357 $ 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
358 ! wall * comb * user * sys * (best of 1) (glob)
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
359 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
360 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
361 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
362 searching for changes
563cd9a72682 perf: add a `pre-run` option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42063
diff changeset
363
42360
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
364 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
365 ------------------------------
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
366
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
367 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
368 $ statprofran () {
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
369 > egrep 'Sample count:|No samples recorded' > /dev/null
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
370 > }
3293086ff663 perf: add an option to profile the benchmark section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42359
diff changeset
371 $ 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
372
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
373 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
374 ----------------------------------------
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
375
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
376 $ 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
377
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33116
diff changeset
378 $ (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
379 > 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
380 > "$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
381 contrib/perf.py:\d+: (re)
35109
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
382 > from mercurial import (
e96613048bdd perf: add command to benchmark bundle reading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33204
diff changeset
383 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
384 contrib/perf.py:\d+: (re)
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
385 > from mercurial import (
1732db2f8210 perf: add a perfphasesremote command
Boris Feld <boris.feld@octobus.net>
parents: 38695
diff changeset
386 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
387 contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
388 > origindexpath = orig.opener.join(orig.indexfile)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
389 use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
390 contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
391 > origdatapath = orig.opener.join(orig.datafile)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
392 use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
393 contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
394 > vfs = vfsmod.vfs(tmpdir)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
395 use getvfs()/getsvfs() for early Mercurial
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
396 contrib/perf.py:\d+: (re)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
397 > vfs.options = getattr(orig.opener, 'options', None)
164b2e77f9a5 perf: introduce a perfrevlogwrite command
Boris Feld <boris.feld@octobus.net>
parents: 40141
diff changeset
398 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
399 [1]