Mercurial > hg
view mercurial/templates/map-cmdline.compact @ 45515:89f0d9f87701
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
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 16 Sep 2020 12:13:46 -0700 |
parents | f4aeb952ab77 |
children |
line wrap: on
line source
[templates] ldate = '{label("log.date", "{date|isodate}")}' ldesc = '{label('ui.note log.description', '{desc|strip}')}' ldescfirst = '{label('ui.note log.description', '{desc|firstline|strip}')}' changeset = '{lrev}{tags}{bookmarks}{parents} {lnode} {ldate} {luser}\n {ldescfirst}\n\n' changeset_quiet = '{lrev}:{lnode}\n' changeset_verbose = '{lrev}{tags}{parents} {lnode} {ldate} {lauthor}\n {ldesc}\n\n' lrev = '{label("log.changeset changeset.{phase}", "{rev}")}' lnode = '{label("log.node", "{node|short}")}' lauthor = '{label("log.user", "{author}")}' luser = '{label("log.user", "{author|user}")}' start_tags = '[' tag = '{label("log.tag", "{tag},")}' last_tag = '{tag}]' start_parents = ':' parent = '{lrev},' last_parent = '{lrev}' start_bookmarks = '[' bookmark = '{label("log.bookmark", "{bookmark},")}' last_bookmark = '{bookmark}]'