Kurtis, thanks for the tip. That certainly helped shed some light on what
is happening.

For anyone with any insight on the specific problem, I ran:

fish --profile /tmp/some_file -c 'complete -C"git add "'

The profile confirmed that it took 5,152ms to run.
Of that 4,885 was running:

command git config --get "alias.$cmd" ^/dev/null | string split " "

(62 executions, each taking 79ms on average).

Running e.g: "time git config --get alias.add", seems to confirm 70-90ms is
about the right time for that shell command (and seems to be about the same
time taken to just do "time git".

By comparison running

fish --profile /tmp/some_file2 -c 'complete -C"git "'

Takes a speedy (or fast enough) 144ms .

Given the cost of shelling out to git can't have just got extra slow all of
a sudden (I don't think?), it seems that calling git config 62 times is the
problem.

I'm yet to work out why the completion needs to do that, if anyone has any
hints, I'd appreciate it.

Cheers,

Ben

On 11 June 2017 at 12:07, Kurtis Rader <kra...@skepticism.us> wrote:

> Someone else recently asked about the speed of performing git completions.
> You might want to follow the discussion here: https://github.com/fish-
> shell/fish-shell/issues/4117
>
> On Sun, Jun 11, 2017 at 5:06 AM, Ben Leslie <be...@benno.id.au> wrote:
>
>> Hi all,
>>
>> I've been using fish for about 6 months now after moving from zsh.
>>
>> Everything was going well, until recently git sub-command completions
>> have slowed down to to point of being unusable.
>>
>> Specifically:
>>
>>  git <tab>
>>
>> is fast, and works as expected
>>
>> git add <tab>
>>
>> is very slow (and replace 'add' with any other sub-command).
>>
>> What is the best way to debug what is going on here?
>>
>> I tried manually running e.g.:  __fish_git_add_files and it runs fast
>>
>> Thanks,
>>
>> Ben
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Fish-users mailing list
>> Fish-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/fish-users
>>
>>
>
>
> --
> Kurtis Rader
> Caretaker of the exceptional canines Junior and Hank
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Fish-users mailing list
Fish-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to