Skip to content
  • Jörg Sonnenberger's avatar
    phases: sparsify phase lists · b1e51ef4e536
    Jörg Sonnenberger authored
    When the internal and archived phase was added, allphase became a large,
    sparsely populated list. This dramatically increased the number of
    lookup operations for public relations in `phasecache.phase`. As a first
    step, define allphases and related lists explicitly to contain only the
    actual phases. Make phasenames a dictionary and create corresponding
    dictionaries for mapping phase names back to numbers. Adjust various
    list to be sparse as well with the exception of phaseroots and phasesets
    members of phasecache. Keep those as a separate step as it involves
    changes to the C module.
    
    Differential Revision: https://phab.mercurial-scm.org/D8697
    b1e51ef4e536