HomePhabricator

revlog: add the option to track the expected compression upper bound

Authored by marmoute.

Description

revlog: add the option to track the expected compression upper bound

There are various optimization we can do if we can estimate the size of delta
before actually spending CPU compressing them. So we add a attributed dedicated
to tracking that.

We only use it on Manifest because (1) it structure is quite stable across all
Mercurial repository so its compression ratio is fairly universal. This is the
revlog with most extreme delta (cf the sparse-revlog optimization).

This will be put to use in later changesets.

Right now the compression upper bound is set to 10. This is a fairly
conservative value (observed value is more around 3), but I prefer to be safe
while introducing the optimization principles. We can tune the optimization
threshold later.

Details

Committed
marmouteApr 25 2019, 6:28 PM
Parents
rHG74e2f4b609f6: perf: clarify some of the custom behavior of `perfrevlogwrite`
Branches
Unknown
Tags
Unknown