Greatly improve time of no-op warming of tags-fnode-cache from an already warm cache
Combined speedup is great, see individual commit for details.
### data-env-vars.name = mercurial-2018-08-01-zstd-sparse-revlog
# benchmark.name = debug-update-cache
# bin-env-vars.hg.flavor = rust
# benchmark.variants.pre-state = warm
c65553d18ab0: 1.711778
93a6dcd5d843: 0.165577 (-90.33%)
### data-env-vars.name = mercurial-filtered-2019-11-22-zstd-sparse-revlog
# benchmark.name = debug-update-cache
# bin-env-vars.hg.flavor = rust
# benchmark.variants.pre-state = warm
c65553d18ab0: 5.596320
93a6dcd5d843: 1.071618 (-80.85%)
### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog
# benchmark.name = debug-update-cache
# bin-env-vars.hg.flavor = rust
# benchmark.variants.pre-state = warm
c65553d18ab0: 18.884656
93a6dcd5d843: 0.923128 (-95.11%)
### data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog
# benchmark.name = debug-update-cache
# bin-env-vars.hg.flavor = rust
# benchmark.variants.pre-state = warm
c65553d18ab0: 88.924823
93a6dcd5d843: 4.507316 (-94.93%)
### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog
# benchmark.name = debug-update-cache
# bin-env-vars.hg.flavor = rust
# benchmark.variants.pre-state = warm
c65553d18ab0: 13.574141
93a6dcd5d843: 0.645026 (-95.25%)
### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog
# benchmark.name = debug-update-cache
# bin-env-vars.hg.flavor = rust
# benchmark.variants.pre-state = warm
c65553d18ab0: 4.010817
93a6dcd5d843: 0.268654 (-93.30%)
Edited by Pierre-Yves David