Page MenuHomePhabricator

unbundle: free temporary objects after use
ClosedPublic

Authored by joerg.sonnenberger on Oct 5 2020, 7:52 PM.

Details

Summary

This reduces peak RSS for larger unbundle operations by ~30 Bytes per
changeset on AMD64. This can't be a direct delete for Python 2.7, so
reset the object instead and leave a comment.

The efilesset object can't be deleted as it is referenced by the local
onchangelog function and Python 2.7 rejects a delete on the existance of
a nested scope.

Diff Detail

Repository
rHG Mercurial
Branch
default
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

pulkit accepted this revision.Oct 6 2020, 4:35 AM
This revision is now accepted and ready to land.Oct 6 2020, 4:35 AM
This revision was automatically updated to reflect the committed changes.
joerg.sonnenberger edited the summary of this revision. (Show Details)Oct 12 2020, 4:16 PM
joerg.sonnenberger updated this revision to Diff 23178.
joerg.sonnenberger edited the summary of this revision. (Show Details)Oct 12 2020, 6:36 PM
joerg.sonnenberger updated this revision to Diff 23179.

Dropping this patch as it breaks test and results in a synatx error. https://foss.heptapod.net/octobus/mercurial-devel/-/jobs/112163

joerg.sonnenberger edited the summary of this revision. (Show Details)Oct 14 2020, 8:16 AM

Re-submitted the change in a way that the Python2.7 nested scope issue is avoided.