On Wed, Feb 01, 2012 at 01:28:47AM -0800, Conrad Irwin wrote: > > But there's more. Respecting binary attributes does mean looking up > > attributes for _every_ file. And that has a noticeable impact. My > > best-of-five for "git grep foo" on linux-2.6 went from 0.302s to 0.392s. > > Yuck. > > The first time I introduced this behaviour[1], I made it conditional > on a preference — those who wanted "good" grep could set the > preference, while those who wanted "fast" grep could not. I think > that's not a good idea, though if the performance issues are > show-stoppers, I'd suggest the opposite preference (so speed-freaks > can disable the checks). I've been able to get somewhat better performance by hoisting the attribute lookup into the parent thread. That means it happens in order (which lets the attr code's stack optimizations work), and there's no lock contention. I'll post finished patches with numbers in a few minutes. > Tests from [1] included below in case they're still useful (they pass > with your change) Thanks, I'll include them. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html