zsh começa incrivelmente devagar

59

O ZSH leva cerca de um segundo e meio de criar uma nova janela de terminal para estar pronto. Tenho certeza que o culpado é compinit .

Eu não consegui encontrar uma boa documentação sobre compinit, , mas parece que deveria estar armazenando em cache todas as coisas necessárias em algum arquivo como .zcompdump .

Algum truque para acelerá-lo?

    
por Eli 24.01.2011 / 03:30

8 respostas

32

oh-my-zsh estava demorando cerca de 1,5 segundos para inicializar no meu laptop. Eu escrevi alguns dos passos que tomei para conseguir isso até cerca de 0,25 segundos .

Outra alma gentil resumiu as etapas necessárias para integrar minhas alterações sua cópia de oh-my-zsh.

O maior problema é que compinit estava sendo chamado de um monte de vezes extras, em vez de apenas uma vez depois que o fpath foi completamente definido. Fiz essas alterações na minha ramificação de oh-my-zsh no github. As mudanças foram discutidas no github e parecem estar funcionando bem para algumas pessoas. Espero que as mudanças sejam mescladas em oh-my-zsh em um futuro próximo.

    
por 25.04.2011 / 05:00
23

Embora o ZSH tenha seu próprio compartilhamento de lentidão, se você encontrar a janela do terminal em branco por alguns instantes antes de ver a linha Last Login: , precisará limpar seus arquivos de log para ver melhorias de velocidade. Este ainda é um problema do OSX Lion e precisará ser feito a cada vários meses. Coxo, eu sei.

O comando é:

sudo rm -rf /private/var/log/asl/*.asl

É claro que você precisa para ler este artigo antecipadamente e assim saber exatamente o que está acontecendo, porque executar qualquer coisa que diga que sudo rm precisa ser pensado. Eu só coloco isso aqui porque seu uso do ZSH prova sua competência com a linha de comando para começar.

    
por 15.06.2012 / 15:03
12

Minha maior melhoria veio da remoção de itens da seção plugin = (). Os plugins 'github' e 'brew' são muito lentos para serem carregados.

Eu também removi o hub que eu tinha alias para git e que acelerou o prompt também.

Eu tenho usado '/ usr / bin / time zsh -i -c exit' para gravar os tempos de inicialização, no entanto compinit não parece fazer uma diferença grande o suficiente para mim.

Seria ótimo ouvir o que os outros estão fazendo para acelerá-lo.

    
por 11.04.2011 / 23:49
6

Você está usando o /bin/zsh pré-instalado ou outro? Eu pergunto, porque o zsh que eu instalei através do fink começa terrivelmente lento devido à inclusão de modelos zsh , enquanto a baunilha começa a subir.

A execução com um dumpfile explícito ( compinit -d dumpfile ) faz com que seja mais rápido? A página man afirma que

The next invocation of compinit will read the dumped file instead of performing a full initialization.

    
por 24.01.2011 / 08:09
5

O Zsh por si só inicia em cerca de 0,1 segundo para mim, o que é bastante bom. Eu notei que quando cheguei perto da marca do histórico de 50.000 comandos, ficou mais de 3 segundos para carregar o primeiro prompt.

Eu não sei como vocês estão encontrando todas essas outras razões para a inicialização lenta, mas o meu foi exatamente o meu primeiro palpite. Eu fiz um mv ~/.zsh_history zsh_history_backup e bam, inicialização de 3 segundos é agora 0.1 segunda inicialização. Curiosamente, /usr/bin/time /bin/zsh -i -c exit falha em capturar o tempo que leva para carregar no histórico.

Se você não tem dezenas de milhares de comandos em seu histórico do zsh, então não é isso. Meu ~/.zsh_history mediu 1,8MB. É muito possível colar acidentalmente uma grande quantidade de coisas como um comando em um terminal, isso também vai inchar a história rapidamente (embora isso seja algo muito a evitar, pois obviamente pode ser extremamente destrutivo).

    
por 09.12.2014 / 19:57
4

Agora, oh-my-zsh verifica a opção de configuração especial do git, oh-my-zsh.hide-status, antes de consultar o status. Então corra

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

no repositório problemático.

    
por 17.09.2013 / 18:37
1

Eu estava usando o tema "af-magic"

Mudar para "musa" resolveu o problema.

Edite ~ / .zshrc e modifique essa linha:

#ZSH_THEME="random"
#ZSH_THEME="af-magic"
ZSH_THEME="muse"
    
por 31.10.2013 / 15:42
0

Eu tenho ótimas melhorias de velocidade depois de limpar o diretório ~ / .oh-my-zsh / plugins /. Havia muitos plugins não utilizados dentro dele.

    
por 22.03.2016 / 14:55