Zsh super lento dentro do meu repositório Git

Zsh super lento dentro do meu repositório Git

Meu Zsh é super lento dentro de um determinado repositório Git meu. Quando procuro "zsh git slow" no Google, obtenho vários resultados sobre o Gitpreenchimento automáticoser lento, mas o preenchimento automático não é necessariamente problema meu; isso étudo.

Tentei remover todos os plugins e isso, estranhamente, não fez nada quando abri um novo shell. Zsh ainda faria coisas do Git dentro do meu repositório Git.

Encontrei esse trecho emesta página:

function git_prompt_info() {
  ref=$(git symbolic-ref HEAD 2> /dev/null) || return
  echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX"
}

Isso tornou tudo mais rápido novamente, mas também me deu um prompt parecido com este:

➜  snip git:(master

Observe o parêntese direito ausente. Isso é meio idiota. Além disso, a coisa toda parece um hack que eu não deveria fazer.

Há também essa pergunta SU de aparência promissora, mas os links da resposta aceita estão inativos.

Como posso fazer com que meu Zsh não fique lento dentro de um repositório Git?

Responder1

Você pode executar o seguinte comando para desativar totalmente o recurso de status do git.

git config --global oh-my-zsh.hide-status 1

Ou adicionando a seguinte linha ao seu arquivo ~/.zshrc.

DISABLE_UNTRACKED_FILES_DIRTY="true"

Responder2

Para rastrear os comandos do shell que são invocados enquanto ele está lento, você pode executar: set -xou adicionar em seus arquivos de inicialização. Ele mostrará todos os comandos, inclusive aquele responsável pelo preenchimento automático.

Se você acredita que alguns gitcomandos são lentos você pode definir algumas variáveis ​​extras como:

exports GIT_TRACE=1

Para ver mais exemplos, consulte:Como posso depurar problemas relacionados ao git/git-shell?

Responder3

Eu removi zsh-autosuggestionscomo plugin e ficou mais rápido. No meu caso não teve nada a ver git.

Responder4

Você pode tentar confirmar a origem da sua lentidão com zprof. Adicione isto ao seu ~/.zshrc(ou equivalente):

zmodload zsh/zprof

em seguida, execute zprofapós cada comando para obter um resumo. No meu caso, era um plugin totalmente não relacionado que estava causando a lentidão.

informação relacionada