annotate tests/test-contrib-perf.t @ 44996:c2df0bca0dfa

perf: make `hg perfwrite` more flexible The more flexible command was used recently while finding a solution for a buffering bug (eventually fixed in f9734b2d59cc (the changeset description uses a different benchmark)). In comparison to the previous version, the new version is much more flexible. While using it, the focus was on testing small writes. For this reason, by default it calls ui.write() 100 times with a single byte plus one newline byte, for 100 lines. To get the previous behavior, run `hg perfwrite --nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`.
author Manuel Jacob <me@manueljacob.de>
date Fri, 05 Jun 2020 01:54:13 +0200
parents bfc68404cccd
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]