HomePhabricator

deltas: skip if projected compressed size is bigger than previous snapshot

Description

deltas: skip if projected compressed size is bigger than previous snapshot

If we have a delta, we check constraints against a lower bound estimate of the
resulting compressed delta. We then checks this projected size against the
size(snapshotⁿ) > size(snapshotⁿ⁺¹) constraint. This allows to exclude
potential base candidates before doing any expensive computation.

This only apply to the intermediate-snapshot case since this constraint only
apply to them.

For some pathological cases of a private repository this step provide a
further performance boost (timing from hg perfrevlogwrite):

before: 3.010646 seconds
after: 2.609307 seconds

Details