Re: update-index --assume-unchanged doesn't make things go fast
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:49
Jakub Narebski [off-list ref] writes:
"Avery Pennarun" [off-list ref] writes:quoted
Hi all, Using git 1.5.6.64.g85fe, but this applies to various other versions I've tried. I have a git repo with about 17000+ files in 1000+ directories. In Linux, "git status" runs in under a second, which is perfectly fine. But on Windows, which can apparently only stat() about 1000 files per second, "git status" takes at least 17 seconds to run, even with a hot cache. (I've confirmed that stat() is so slow on Windows by writing a simple program that just runs stat() in a tight loop. The slowness may be cygwin-related, as I found some direct Win32 calls that seem to go more than twice as fast... which is still too slow.)Which git version do you use? Does it have the following configuration variable (also available as command option): status.showUntrackedFiles:: By default, linkgit:git-status[1] and linkgit:git-commit[1] show files which are not currently tracked by Git. Directories which contain only untracked files, are shown with the directory name only. Showing untracked files means that Git needs to lstat() all all the files in the whole repository, which might be slow on some systems. So, this variable controls how the commands displays the untracked files. Possible values are: - 'no' - Show no untracked files - 'normal' - Shows untracked files and directories - 'all' - Shows also individual files in untracked directories.
That's on 'master' progressing forward to eventually become 1.6.0.