HomePhabricator

branchmap: add a cache validation cache, avoid expensive re-hash on every use

Authored by spectral.

Description

branchmap: add a cache validation cache, avoid expensive re-hash on every use

In a pathological hg log case, we end up executing the branchmap validity
checking twice per commit displayed. Or maybe we always do, and I just noticed
because it's really slow in this repo for some reason.

Before:

Time (mean ± σ):      9.816 s ±  0.071 s    [User: 9.435 s, System: 0.392 s]

Range (min … max):    9.709 s …  9.920 s

After:

Time (mean ± σ):      8.671 s ±  0.078 s    [User: 8.309 s, System: 0.392 s]

Range (min … max):    8.594 s …  8.816 s

Differential Revision: https://phab.mercurial-scm.org/D9023

Details

Committed
spectralSep 16 2020, 3:13 PM
Differential Revision
D9023: branchmap: add a cache validation cache, avoid expensive re-hash on every use
Parents
rHG93a0f3ba36bb: merge with stable
Branches
Unknown
Tags
Unknown