tests/test-children.out
author Christoph Spiel <cspiel@freenet.de>
Thu, 27 Sep 2007 23:57:57 -0500
changeset 5363 058e93c3d07d
parent 4783 be78ab217109
permissions -rw-r--r--
I have spotted the biggest bottleneck in "bdiff.c". Actually it was pretty easy to find after I recompiled the python interpreter and mercurial for profiling. In "bdiff.c" function "equatelines" allocates the minimum hash table size, which can lead to tons of collisions. I introduced an "overcommit" factor of 16, this is, I allocate 16 times more memory than the minimum value. Overcommiting 128 times does not improve the performance over the 16-times case.

% init
% no working directory
% setup
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
% hg children at revision 3 (tip)
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
% hg children at nullrev (should be 0 and 3)
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
% hg children at revision 1 (should be 2)
changeset:   2:8f5eea5023c2
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     2

1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% hg children at revision 2 (other head)
% hg children -r null
changeset:   0:4df8521a7374
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     0

changeset:   3:e2962852269d
tag:         tip
parent:      -1:000000000000
user:        test
date:        Thu Jan 01 00:00:03 1970 +0000
summary:     3

% hg children -r 0
changeset:   1:708c093edef0
user:        test
date:        Thu Jan 01 00:00:01 1970 +0000
summary:     1

% hg children -r 1
changeset:   2:8f5eea5023c2
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     2

% hg children -r 2
% hg children -r 3
% hg children -r 0 file0 (should be 2)
changeset:   2:8f5eea5023c2
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     2

% hg children -r 1 file0 (should be 2)
changeset:   2:8f5eea5023c2
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     2

1 files updated, 0 files merged, 1 files removed, 0 files unresolved
% hg children file0 at revision 0 (should be 2)
changeset:   2:8f5eea5023c2
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     2