Mercurial > hg
annotate tests/test-merge8.t @ 31015:1076f7eba964
smartset: convert set to list lazily
If the caller only wants to construct a baseset via a set, and then do
"__contains__" tests. It's unnecessary to initialize the list.
Testing on my unfiltered hg-committed repo where len(draft()) is 2600, this
patch shows about 6% improvement on set intensive queries:
Before:
$ for i in `seq 5`; hg perfrevset 'draft() & draft() & draft() & draft()'
! wall 0.001196 comb 0.000000 user 0.000000 sys 0.000000 (best of 2011)
! wall 0.001191 comb 0.000000 user 0.000000 sys 0.000000 (best of 2099)
! wall 0.001186 comb 0.010000 user 0.010000 sys 0.000000 (best of 1953)
! wall 0.001182 comb 0.000000 user 0.000000 sys 0.000000 (best of 2135)
! wall 0.001193 comb 0.000000 user 0.000000 sys 0.000000 (best of 2177)
After:
$ for i in `seq 5`; hg perfrevset 'draft() & draft() & draft() & draft()'
! wall 0.001128 comb 0.000000 user 0.000000 sys 0.000000 (best of 2247)
! wall 0.001119 comb 0.000000 user 0.000000 sys 0.000000 (best of 2317)
! wall 0.001115 comb 0.000000 user 0.000000 sys 0.000000 (best of 2244)
! wall 0.001131 comb 0.000000 user 0.000000 sys 0.000000 (best of 2093)
! wall 0.001124 comb 0.000000 user 0.000000 sys 0.000000 (best of 2134)
It could have bigger impact on larger sets in theory.
author | Jun Wu <quark@fb.com> |
---|---|
date | Fri, 17 Feb 2017 20:59:29 -0800 |
parents | f2719b387380 |
children | eb586ed5d8ce |
rev | line source |
---|---|
11981
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
1 Test for changeset ba7c74081861 |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
2 (update dirstate correctly for non-branchmerge updates) |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
3 $ hg init a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
4 $ cd a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
5 $ echo a > a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
6 $ hg add a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
7 $ hg commit -m a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
8 $ cd .. |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
9 $ hg clone a b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
10 updating to branch default |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
11 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
12 $ cd a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
13 $ hg mv a b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
14 $ hg commit -m move |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
15 $ echo b >> b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
16 $ hg commit -m b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
17 $ cd ../b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
18 $ hg pull ../a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
19 pulling from ../a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
20 searching for changes |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
21 adding changesets |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
22 adding manifests |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
23 adding file changes |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
24 added 2 changesets with 2 changes to 1 files |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
25 (run 'hg update' to get a working copy) |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
26 $ hg update |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
27 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11981
diff
changeset
|
28 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11981
diff
changeset
|
29 $ cd .. |