( )⚙ D7068 sidedatacopies: only store an entry if it has values

This is an archive of the discontinued Mercurial Phabricator instance.

sidedatacopies: only store an entry if it has values
ClosedPublic

Authored by marmoute on Oct 12 2019, 12:45 PM.

Details

Summary

This will make for a shorter storage and help use to write faster code in simple
case. This change already provided a speed boost for copy tracing.

For example here is combined time of running copies tracing on a 6989 pairs of
revision on the pypy repos:

before: 771s
after: 631s - 18%

This also has a very positive impact on changelog size. For example here are the
number for the 00changelog.d file of pypy.

before: 30449712 Bytes
after: 24973718 Bytes - 18%

This give an overall quite acceptable overhead for storing copies into the
changelog:

filelog-only: 23370586
sidedata: 24973718 Bytes + 7%

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

marmoute created this revision.Oct 12 2019, 12:45 PM
This revision was not accepted when it landed; it landed in state Needs Review.
This revision was automatically updated to reflect the committed changes.