tags-cache: skip the filternode step if we are not going to use it
When warming the hgtagsfnodescache, we don't need the actual result, so we can
simply skip the part that "filter" fnode we read from the cache. So provide a
quite visible speed up to the top level `hg debugupdatecache` function.
### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog
# benchmark.name = hg.debug.debug-update-cache
# bin-env-vars.hg.flavor = default
# bin-env-vars.hg.py-re2-module = default
# benchmark.variants.pre-state = warm
before: 19.947581
after: 18.916804 (-5.17%, -1.03)
#require bzr
$ . "$TESTDIR/bzr-definitions"
$ cat > treeset.py <<EOF
> import sys
> from breezy import workingtree
> import breezy.bzr.bzrdir
> wt = workingtree.WorkingTree.open('.')
>
> message, rootid = sys.argv[1:]
> wt.set_root_id(b'tree_root-%s' % rootid.encode())
> wt.commit(message)
> EOF
change the id of the tree root
$ mkdir test-change-treeroot-id
$ cd test-change-treeroot-id
$ brz init -q source
$ cd source
$ echo content > file
$ brz add -q file
$ brz commit -q -m 'Initial add'
$ "$PYTHON" ../../treeset.py 'Changed root' new
$ cd ..
$ hg convert source source-hg
initializing destination source-hg repository
scanning source...
sorting...
converting...
1 Initial add
0 Changed root
$ manifest source-hg tip
% manifest of tip
644 file
$ cd ..