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