On Thu, Oct 18, 2018 at 12:40:48PM +0900, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > Whereas for the new config variable, you'd probably set it not because > > you want it quiet all the time, but because you want to get some time > > savings. So there it does make sense to me to explain. > > > > Other than that, this seems like an obvious and easy win. It does feel a > > little hacky (you're really losing something in the output, and ideally > > we'd just be able to give that answer quickly), but this may be OK as a > > hack in the interim. > > After "git reset --quiet -- this/area/" with this change, any > operation you'd do next that needs to learn if working tree files > are different from what is recorded in the index outside that area > will have to spend more cycles, because the refresh done by "reset" > is now limited to the area. So if your final goal is "make 'reset' > as fast as possible", this is an obvious and easy win. For other > goals, i.e. "make the overall experience of using Git feel faster", > it is not so obvious to me, though. > > If we somehow know that it is much less important in your setup that > the cached stat bits in the index is kept up to date (e.g. perhaps > you are more heavily relying on fsmonitor and are happy with it), > then I suspect that we could even skip the refreshing altogether and > gain more performance, without sacrificing the "overall experience > of using Git" at all, which would be even better. Yeah, I assumed that Ben was using fsmonitor. I agree if we can just use that to make this output faster, that would be the ideal. This is the "later the message would get faster to produce" I hinted at in my earlier message. So I think we are in agreement. It just isn't clear to me how much work it would take to get to the "ideal". If it's long enough, then this kind of hackery may be useful in the meantime. -Peff