update; status is no longer slow

This commit is contained in:
Joey Hess 2011-10-30 16:49:49 -04:00
parent 56080a0feb
commit 3cf811ead0

View file

@ -7,13 +7,14 @@ but that's out of scope -- and recent git-annex versions use queuing
to save git add from piling up too much in the index.)
But currently two git-annex commands are quite slow when annexes become large
in quantity of files. These are unused and stats
in quantity of files. These are unused and status.
(Both have --fast versions that don't do as much).
> (Update: status has become acceptably fast; most of its slowdown was due to using a bad data structure; scanning the tree is not particularly slow and it no longer looks at the git-annex branch.)
Both are slow because both need two pieces of information that are not
unused is slow because it needs two pieces of information that are not
quick to look up, and require examining the whole repo, very seekily:
1. The keys present in the annex. Found by looking thru .git/annex/objects.
1. The keys present in the annex. Found by looking thru .git/annex/objects
2. The keys referenced by files in git. Found by finding every file
in git, and looking at its symlink.