D1621: transaction: encodes tuples in changes['phases'] as 4 bit ints
yuja (Yuya Nishihara)
phabricator at mercurial-scm.org
Mon Dec 11 09:25:46 EST 2017
yuja added a comment.
In https://phab.mercurial-scm.org/D1621#28285, @joerg.sonnenberger wrote:
> This version should be committable. It introduces the necessary API for isolating further changes and gives a small improvement already. I'll be looking at provider a memory and time efficient sparce vector next, that's where the real benefits will be.
I think it's better to hold this change off until we can get a real performance or
memory-space win. The current number, "peak RSS by 3MB", won't buy much
compared to the API complexity this patch will introduce.
Regarding the API, I think `tr.changes[key]` is the source of the problem. It allows
free read/write access to arbitrary data, which is hard to gradually improve the
underlying data structure or algorithm.
Noob quesiton. Can't we completely switch of `tr.changes['phases']` when it's
unnecessary?
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