##// END OF EJS Templates
tags-fnode-cache: do not repeatedly open the filelog in a loop...
tags-fnode-cache: do not repeatedly open the filelog in a loop While getting multiple hgtagsfnodecache entries, we were opening (and closing) the `.hgtags` filelog for each iteration. The meant repeatedly reading and parsing the version same information from disk. A quite costly operation. We no longer do this, leading to a sizable improvement in `hg debugupdatecache` run for an already warm repositories. ### data-env-vars.name = mercurial-2018-08-01-zstd-sparse-revlog # benchmark.name = debug-update-cache # benchmark.variants.pre-state = warm before: 1.711778 seconds after: 0.213229 seconds (-87.54%) # data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog before: 4.010817 seconds after: 0.381141 seconds (-90.50%) # data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog before: 13.574141 after: 1.023007 seconds (-92.46%) # data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog before: 18.884656 after: 1.465735 seconds (-92.24%) # data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog before: 88.924823 after: 6.511771 seconds (-92.68%)

File last commit:

r50412:52464a20 default
r50474:15a89b72 stable
Show More
Cargo.toml
25 lines | 478 B | text/plain | TOMLLexer
[package]
name = "rhg"
version = "0.1.0"
authors = [
"Antoine Cezar <antoine.cezar@octobus.net>",
"Raphaël Gomès <raphael.gomes@octobus.net>",
]
edition = "2018"
[dependencies]
atty = "0.2.14"
hg-core = { path = "../hg-core"}
chrono = "0.4.19"
clap = "2.34.0"
derive_more = "0.99.17"
home = "0.5.3"
lazy_static = "1.4.0"
log = "0.4.14"
micro-timer = "0.4.0"
regex = "1.5.5"
env_logger = "0.9.0"
format-bytes = "0.3.0"
users = "0.11.0"
which = "4.2.5"
rayon = "1.5.1"