Mercurial > hg
annotate tests/test-diff-copy-depth.t @ 25527:262e6ad93885
phases: really fix native phase computation
For some reason (probably rebase issue, leprechaun or badly resolved .rej)
1635579f9baf contains only half of the emailed patches and do not fix the bug.
This patch adds the other half and enable the sweet native computation for real.
As expected this provide massive speedup along the board.
revset #0: not public()
plain first
0) 0.011960 0.010523
1) 0.000465 3% 0.000492 4%
revset #1: (tip~1000::) - public()
plain first
0) 0.025700 0.025169
1) 0.002864 11% 0.001899 7%
revset #2: not public() and branch("default")
plain first
0) 0.022842 0.020863
1) 0.011418 49% 0.010948 52%
However, it has a less impact (even bad) on first result time in simple
situation. This comes from the overhead of building the set and filtering it.
This is especially true on my Mercurial repository (used here) where about 1/3
of the changesets are non public and hidden. This could be mitigated by a
caching of the set and a better usage of smartset in '_notpublic'. (But this
won't happen in this patch because the win is massive everywhere else).
revset #0: not public()
last
0) 0.000081
1) 0.000493 x6.1 <-- bad impact
revset #1: (tip~1000::) - public()
last
0) 0.013966
1) 0.002737 19%
revset #2: not public() and branch("default")
last
0) 0.011021
1) 0.011038
The effect mostly disappear when the number of non-public changesets is small
and/or the repo get bigger. Result for Mozilla central:
Mozilla
revset #0: not public()
plain first last
0) 0.092787 0.084094 0.000080
1) 0.000054 0% 0.000083 0% 0.000083
revset #1: (tip~1000::) - public()
plain first last
0) 0.215607 0.183996 0.124962
1) 0.031620 14% 0.006616 3% 0.031168 24%
revset #2: not public() and branch("default")
plain first last
0) 0.092626 0.082687 0.000162
1) 0.000139 0% 0.000165 0% 0.000167
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 10 Jun 2015 19:26:16 -0700 |
parents | bca69641de61 |
children |
rev | line source |
---|---|
12150
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
1 $ for i in aaa zzz; do |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
2 > hg init t |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
3 > cd t |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
4 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
5 > echo |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
6 > echo "-- With $i" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
7 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
8 > touch file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
9 > hg add file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
10 > hg ci -m "Add" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
11 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
12 > hg cp file $i |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
13 > hg ci -m "a -> $i" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
14 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
15 > hg cp $i other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
16 > echo "different" >> $i |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
17 > hg ci -m "$i -> other-file" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
18 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
19 > hg cp other-file somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
20 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
21 > echo "Status": |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
22 > hg st -C |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
23 > echo |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
24 > echo "Diff:" |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
25 > hg diff -g |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
26 > |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
27 > cd .. |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
28 > rm -rf t |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
29 > done |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
30 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
31 -- With aaa |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
32 Status: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
33 A somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
34 other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
35 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
36 Diff: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
37 diff --git a/other-file b/somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
38 copy from other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
39 copy to somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
40 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
41 -- With zzz |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
42 Status: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
43 A somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
44 other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
45 |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
46 Diff: |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
47 diff --git a/other-file b/somename |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
48 copy from other-file |
bca69641de61
tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents:
6489
diff
changeset
|
49 copy to somename |
6424 | 50 |
51 |