Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Slowness issue with git completion



On Wed, 27 Apr 2011, Felipe Contreras wrote:

On Wed, Apr 27, 2011 at 1:03 AM, Nikolai Weibull wrote:
On Tue, Apr 26, 2011 at 23:35, Felipe Contreras wrote:
On Wed, Apr 27, 2011 at 12:13 AM, Mikael Magnusson wrote:

It's only slow in repos as large as the linux one.

No. It's slow everywhere, it's *dead* slow on Linux. And BTW, there's thousands of developers working on Linux (the kernel), I guess we are not important.

So perhaps you can improve it then.  Or one of the thousands of developers working on Linux (the kernel).  (I don’t believe that a very large fraction of them actually use Zsh,

And now I see why.

though, or someone would have already provided a patch.)  Or perhaps you could patch the kernel to make it faster?

It works fine in bash.

I’ve spent innumerable hours on making it correct.  I expect someone to pitch in a couple of hours to make it fast.

Well, kernel and git developers have spent many more hours to make git fast, and this "correctness" is disrespecting that work because the time it takes to execute the completion is longer than the command itself.

Developing a slow solution around something highly optimized isn't "disrespecting" anything. It's not taking advantage of that optimization, but that's hardly an act of "disrespect".


I find your attitude in this thread rather offensive.

Oh, if I say the current implementation is dead slow and unusable, you
find that offensive?

He presumably finds the snarky and/or holier-than-thou comments offensive:

"And now I see why"

"It works fine in bash"

"there's thousands of developers working on Linux (the kernel), I guess we are not important"

"Seriously, this is very annoying" [from your earlier message]

multiple dismissive "So?" responses [also in earlier messages]


Maybe you should understand that criticism to code is not criticism to you. But I will tell you what I do when somebody finds a fatal flaw in my software; I fix it. If the person is offensive or cordial doesn't really matter, the fatal flaw is there.

Many people do not consider cordiality to be an optional component of a request for volunteer effort. The kernel community has a very different level of expected tact, apparently and expectedly.


Now, how about you make a compromise between "correctness" and usability? There's many parts of the code marked as TODO, so I guess the code is not "perfectly correct". Add one more TODO, so in the meantime 'git add' shows unchanged files, which would make the rest of the commands as fast as they should be.

[see my other response -- gist: if it weren't broken the "context sensitivity" would be preferred, so the effort to rip it out perhaps isn't deemed to be worthwhile]


I will tell you why I use completion; because I want to be more productive. If completion makes me less productive, I will obviously not use it... What's the point? I don't see why that is so hard to understand. Note that this is the case also for small projects.

Are you interested in fixing this use-case even if it means to make some compromises in correctness or not?

I'll take a look at a better workaround tonight. People who understand completion better than I do can continue on whichever path they prefer (whether the choice is "Worse is Better" vs "the Right Thing" OR cathedral vs bazaar is left as an exercise to the reader).

--
Best,
Ben


Messages sorted by: Reverse Date, Date, Thread, Author