mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
4fdbea480f
This also makes the perfancestorset command use lazy membership testing. In a linear repository with over 400,000 commits, without this patch, hg perfancestorset takes 0.80 seconds no matter how far behind we're looking. With this patch, hg perfancestorset -- X takes: Rev X Time -1 0.00s -4000 0.01s -20000 0.04s -80000 0.17s -200000 0.43s -300000 0.69s 0 0.88s Thus, for revisions close to tip, we're up to several orders of magnitude faster. At 0 we're around 10% slower.
47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
% ancestors of [] and not of [1]
|
|
[]
|
|
% ancestors of [] and not of []
|
|
[]
|
|
% ancestors of [12] and not of []
|
|
[0, 1, 2, 4, 6, 7, 9, 12]
|
|
% ancestors of [0] and not of [0]
|
|
[]
|
|
% ancestors of [4, 5, 6] and not of [6, 5, 4]
|
|
[]
|
|
% ancestors of [-1] and not of [12]
|
|
[]
|
|
% ancestors of [12] and not of [-1]
|
|
[0, 1, 2, 4, 6, 7, 9, 12]
|
|
% ancestors of [12] and not of [9]
|
|
[12]
|
|
% ancestors of [9] and not of [12]
|
|
[]
|
|
% ancestors of [12, 9] and not of [7]
|
|
[6, 9, 12]
|
|
% ancestors of [7, 6] and not of [12]
|
|
[]
|
|
% ancestors of [10] and not of [11, 12]
|
|
[5, 10]
|
|
% ancestors of [11] and not of [10]
|
|
[3, 7, 11]
|
|
% ancestors of [11] and not of [10, 12]
|
|
[3, 11]
|
|
% ancestors of [12] and not of [10]
|
|
[6, 7, 9, 12]
|
|
% ancestors of [12] and not of [11]
|
|
[6, 9, 12]
|
|
% ancestors of [10, 11, 12] and not of [13]
|
|
[0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12]
|
|
% ancestors of [13] and not of [10, 11, 12]
|
|
[8, 13]
|
|
% lazy ancestor set for [], stoprev = 0, inclusive = False
|
|
[]
|
|
% lazy ancestor set for [11, 13], stoprev = 0, inclusive = False
|
|
[7, 8, 3, 4, 1, 0]
|
|
% lazy ancestor set for [11, 13], stoprev = 0, inclusive = True
|
|
[11, 13, 7, 8, 3, 4, 1, 0]
|
|
% lazy ancestor set for [11, 13], stoprev = 6, inclusive = False
|
|
[7, 8]
|
|
% lazy ancestor set for [11, 13], stoprev = 6, inclusive = True
|
|
[11, 13, 7, 8]
|