On Tue, 29 Jul 2008, Roman Zippel wrote: > > I'm not dismissing it, but your focus is on how to get this result. No, you misunderstand. My focus is really on one single thing: - performance with a smaller focus on the fact that I simply don't see how it's _possible_ to do better than our current all-or-nothing approach of simplification (eg either extreme simplification or none at all: nothing or --full-history). So here's my challenge again, which you seem to have TOTALLY MISSED. Make this be fast: time sh -c "git log <filename> | head" nothing else matters. If you can make that one be fast, I'm happy. And that "| head" is really very fundamentally important. The important thing from a performance standpoint is not how long the _whole_ "log" takes. The important thing is how fast it _feels_, and that is directly tied to how fast it starts outputting the data. Put another way: I _know_ how to simplify things. Trust me, Roman. That's not the problem. But doing it incrementally is really really hard, to the point that I actually believe that it is impossible to do. And doing it after-the-fact is simply not interesting. We could trivially (well, _fairly_ trivially) do it when we do the topology sort. But I have long long tried to teach people _not_ to do the topo sort inside the core git machinery, exactly because it is a horrid thing from an interactivity standpoint. In fact, you can see what I'm talking about by trying --topo-order in the above timing test. Really. Just _try_ it. And if you still don't understand what I'm talking about, I don't know what to say. > > And quite frankly, I've seen that behaviour from you before, when it comes > > to other things. > > What exact behaviour is that? That I dare to disagree with you? No. The fact that you like arguing _pointlessly_, and just being abrasive, without actually helping or understanding the big picture. I'm thinking back on the whole scheduler thing. You weren't arguing with _me_, but you had the same modus operandi. Linus -- 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