Mercurial > hg
annotate tests/test-commit-copy.t @ 16363:2cdd7e63211b
parsers: incrementally parse the revlog index in C
We only parse entries in a revlog index file when they are actually
needed, and cache them when first requested.
This makes a huge difference to performance on large revlogs when
accessing the tip revision or performing a handful of numeric lookups
(very common cases). For instance, "hg --time tip --template {node}"
on a tree with 300,000 revs takes 0.15 before, 0.02 after.
Even for revlog-intensive operations (e.g. running "hg log" to
completion), the lazy approach is about 1% faster than the eager
parse_index2.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Thu, 05 Apr 2012 13:00:35 -0700 |
parents | ec5886db9dc6 |
children |
rev | line source |
---|---|
11803
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
1 $ hg init dir |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
2 $ cd dir |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
3 $ echo bleh > bar |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
4 $ hg add bar |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
5 $ hg ci -m 'add bar' |
3675
6990e499d71a
Revert almost all of 5be434785317; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
6 |
11803
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
7 $ hg cp bar foo |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
8 $ echo >> bar |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
9 $ hg ci -m 'cp bar foo; change bar' |
3675
6990e499d71a
Revert almost all of 5be434785317; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 |
11803
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
11 $ hg debugrename foo |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
12 foo renamed from bar:26d3ca0dfd18e44d796b564e38dd173c9668d3a9 |
14182
ec5886db9dc6
tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents:
11803
diff
changeset
|
13 $ hg debugindex bar |
11803
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
14 rev offset length base linkrev nodeid p1 p2 |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
15 0 0 6 0 0 26d3ca0dfd18 000000000000 000000000000 |
b90199179eb5
unify test-commit-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
3853
diff
changeset
|
16 1 6 7 1 1 d267bddd54f7 26d3ca0dfd18 000000000000 |