[External] remotefilelog: Large Manifest
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Mon Mar 2 16:46:40 UTC 2020
On 3/2/20 10:39 AM, Son Luong Ngoc wrote:
> Hi Yves,
(My first name is actually "Pierre-Yves" as a whole.)
>
>> On Mar 1, 2020, at 20:51, Pierre-Yves David
>> <pierre-yves.david at ens-lyon.org
>> <mailto:pierre-yves.david at ens-lyon.org>> wrote:
>> +1 using zstd don't have a huge impact on size, but speed up
>> read/write up to about 50%
>>
>> You can see some number here
>> https://urldefense.com/v3/__https://www.mercurial-scm.org/repo/hg/rev/bb271ec2fbfb__;!!FzMMvhmfRQ!6rrRJJuYzgXSEUsccdjBdOayyRReVBhJmffLSSH9LKaeW20V_3FzB0FhFMjgUoRq$
> I can try this but not sure whats the best way to do a format conversion?
> A re-convert (from using hg-git) is expensive on large repo.
> Trying "hg --config format.revlog-compression=zstd clone local1 local2"
> now, hopefully I can just copy the hg-git files over after.
You can set format.revlog-compression=zstd in your hgrc (repo or user)
and run `hg debugupgraderepo --run`.
>
>> Can you share some information to help with diagnostic ?
> I will not be able to give the exact number but I will try to give a
> rough estimations
>
>> - How many changeset do you have ?
> 150k
>
>> - How many files do you have in your working copy ?
> Should not be relevant since we really try to have a sparse-checkout
> working, most of my tests are with --noupdates
> But I would say around 200k
`hg manifest --rev tip | wc -l` would give you a number for the later head.
>> - How many different file did you had in the repository ever ? `hg
>> manifest --all | wc -l`
> 450k
>
>> - How many merge do you have.
> Using "git rev-list --merges --count HEAD" in the default branch of our
> git repo: 100k
Do you mean you have 150k changeset, 100k of them being merge ? (so ⅔)
If so, this is a pretty high merge ratio.
In all cases, having a 1.8GB manifest for 150k changeset is definitely
very high I have seems repository with 10× more changeset with manifest
2× smaller. So I would be surprised if we cannot get something better.
--
Pierre-Yves David
More information about the Mercurial
mailing list