tags-cache: directly operate on rev-num warming hgtagsfnodescache
Not having to goes through nodeid speed up things notably.
### 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-this-series: 19.947581
before-this-changes: 18.916804 (-5.17%, -1.03)
this-changesets: 17.493725 (-12.30%, -2.45)
#testcases bdiff xdiff
#if xdiff
#require xdiff
$ cat >> $HGRCPATH <<EOF
> [experimental]
> xdiff = true
> EOF
#endif
Test case that makes use of the weakness of patience diff algorithm
$ hg init
>>> open('a', 'wb').write(('\n'.join(list('a' + 'x' * 10 + 'u' + 'x' * 30 + 'a\n'))).encode('ascii')) and None
$ hg commit -m 1 -A a
>>> open('a', 'wb').write(('\n'.join(list('b' + 'x' * 30 + 'u' + 'x' * 10 + 'b\n'))).encode('ascii')) and None
#if xdiff
$ hg diff
diff -r f0aeecb49805 a
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +1,4 @@
-a
+b
x
x
x
@@ -9,7 +9,6 @@
x
x
x
-u
x
x
x
@@ -30,6 +29,7 @@
x
x
x
+u
x
x
x
@@ -40,5 +40,5 @@
x
x
x
-a
+b
#else
$ hg diff
diff -r f0aeecb49805 a
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +1,4 @@
-a
-x
-x
-x
-x
-x
-x
-x
-x
-x
-x
-u
+b
x
x
x
@@ -40,5 +29,16 @@
x
x
x
-a
+u
+x
+x
+x
+x
+x
+x
+x
+x
+x
+x
+b
#endif