Skip to content

rhg: parallellize computation of [unsure_is_modified]

[unsure_is_modified] is called for every file for which we can't determine its status based on its size and mtime alone.

In particular, this happens if the mtime of the file changes without its contents changing.

Parallellizing this improves performance significantly when we have many of these files.

Here's an example run (on a repo with ~400k files after dropping FS caches)

before:
real	0m53.901s
user	0m27.806s
sys	0m31.325s

after:
real	0m32.017s
user	0m34.277s
sys	1m26.250s

Another example run (a different FS):

before:
real	3m28.479s
user	0m31.800s
sys	0m25.324s

after:
real	0m29.751s
user	0m41.814s
sys	1m15.387s
Edited by Arseniy Alekseyev

Merge request reports