annotate tests/test-issue4074.t @ 48311:6d69e83e6b6e

rhg: more efficient `HgPath::join` This commit makes `HgPath::join` slightly more efficient by avoiding one copy. It also avoids a particularly inefficient (quadratic) use of `HgPath::join` by using a new mutating function `HgPathBuf::push` instead. The name for `HgPathBuf::push` is chosen by analogy to `PathBuf::push`. Differential Revision: https://phab.mercurial-scm.org/D11721
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Tue, 26 Oct 2021 19:47:30 +0100
parents 60bc043d7df7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29014
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
1 #require no-pure
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
2
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
3 A script to generate nasty diff worst-case scenarios:
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
4
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
5 $ cat > s.py <<EOF
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6 > import random
36324
57c671cf7a69 py3: use range instead of xrange in tests/test-issue4074.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33747
diff changeset
7 > for x in range(100000):
29014
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
8 > print
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
9 > if random.randint(0, 100) >= 50:
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
10 > x += 1
33747
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 32958
diff changeset
11 > print(hex(x))
29014
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
12 > EOF
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
13
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
14 $ hg init a
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
15 $ cd a
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
16
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
17 Check in a big file:
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
18
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36324
diff changeset
19 $ "$PYTHON" ../s.py > a
29014
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
20 $ hg ci -qAm0
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
21
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
22 Modify it:
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
23
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36324
diff changeset
24 $ "$PYTHON" ../s.py > a
29014
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
25
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
26 Time a check-in, should never take more than 10 seconds user time:
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
27
44182
60bc043d7df7 test: pin the number of CPU for issue4074 tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39723
diff changeset
28 $ hg ci --time -m1 --config worker.enabled=no
29014
f1ca249696ed bdiff: balance recursion to avoid quadratic behavior (issue4704)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
29 time: real .* secs .user [0-9][.].* sys .* (re)