yuja added a comment.
> Original code: 485s / 584MB
> Set version: 501s / 582MB
> intbitset: 478s / 563MB
I'm not sure how to read this. Do we only get -2/584MB better space
consumption against the original simplest implementation?
REPOSITORY
rHG Mercurial
REVISION DETAIL
quark accepted this revision.
quark added a comment.
That said, I think the usage of list of sets is smart and this change looks
good to me.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1621
To: joerg.sonnenberger, #hg-reviewers, quark
Cc: quark,
quark added inline comments.
INLINE COMMENTS
> localrepo.py:1243
>**pycompat.strkwargs(args))
> if hook.hashook(repo.ui, 'pretxnclose-phase'):
> cl = repo.unfiltered().changelog
Since this hook is the only user of
joerg.sonnenberger added a comment.
This is a Proof-of-Concept and with a follow-up in
https://phab.mercurial-scm.org/D1622 to use a C implementation for the bitset.
Original code: 485s / 584MB
Set version: 501s / 582MB
intbitset: 478s / 563MB
REPOSITORY
rHG Mercurial
REVISION
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
changes['phases'] used to be a dictionary mapping revisions to
(old, new) tuples. The encoding is highly redundant and eats ~40MB
for the test case