make the pre-[hg update] checks faster (part 2)
This contains the more intrusive/less impactful optimizations that I left for later. This is much less important than !388 (merged), so please prioritize that if you have to choose when reviewing.
Benchmarks go something like this (this time on a real FS instead of a ramdisk, so a bit worse and noisier than the previous bench):
Benchmark: hg update tip --config devel.debug.abort-update=1
s0. Time (mean ± σ): 11.832 s ± 0.137 s
s1. Time (mean ± σ): 8.338 s ± 0.086 s
s2. Time (mean ± σ): 8.295 s ± 0.117 s
s3. Time (mean ± σ): 8.210 s ± 0.031 s
s4. Time (mean ± σ): 5.828 s ± 0.077 s
s5. Time (mean ± σ): 5.308 s ± 0.043 s
s6. Time (mean ± σ): 5.207 s ± 0.033 s
s7. Time (mean ± σ): 4.921 s ± 0.049 s
Edited by Raphaël Gomès