Page MenuHomePhabricator

phases: sparsify phaseroots and phasesets

Authored by joerg.sonnenberger on Jul 7 2020, 6:38 PM.



As final step of dealing with the holes in the phase numbers, make
phaseroots and phasesets both dictionaries indexed by the phase number.
Further adjust the interface of the C module by pushing the node to
revision mapping down as it is cheaper on the C side to deal with
revision numbers.

Overall, the patch series improves a no-change "hg up" for my NetBSD test
repository from 4.7s to 1.3s.

Diff Detail

rHG Mercurial
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

durin42 accepted this revision.Jul 15 2020, 11:28 AM
durin42 added a subscriber: durin42.
durin42 added inline comments.

Possible improvement: _dict_new_presized could probably be used here since it looks like you know the possible dict size.

This revision is now accepted and ready to land.Jul 15 2020, 11:28 AM
This revision was automatically updated to reflect the committed changes.