D1621: transaction: encodes tuples in changes['phases'] as 4 bit ints
yuja (Yuya Nishihara)
phabricator at mercurial-scm.org
Tue Dec 12 08:21:15 EST 2017
yuja added a comment.
In https://phab.mercurial-scm.org/D1621#28387, @joerg.sonnenberger wrote:
> The bitset version has shown already that optimizing this is worthwhile and can eliminate up to 10% of the total size of the transaction object.
IIRC, Jun said a plain intbitset wouldn't be optimal for all scenarios, and I agree
with that. Also, it isn't a standard Python library.
I think the current way of recording phase change is too ad-hoc if it does iterate
all incoming nodes to build `(old, new)` phases pairs. Instead, can't we reconstruct
them from DAG + old/new phase roots, for example?
If the current `tr.changes['phases']` is only used by hooks and third-party
extensions, it can be opt-in feature.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1621
To: joerg.sonnenberger, #hg-reviewers, quark
Cc: yuja, quark, mercurial-devel
More information about the Mercurial-devel
mailing list