Re: Bizarre missing changes (git bug?)
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Jul 29, 2008, 15:50 UTC
- Message-ID
- <alpine.LFD.1.10.0807290838360.3334@nehalem.linux-foundation.org>
- In-Reply-To
- <Pine.LNX.4.64.0807291235350.6791@localhost.localdomain>
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