oh-my-zsh lent, mais seulement pour certaines repo Git

J'ai récemment commencé à utiliser Zsh et c'est génial. Malheureusement, pour le projet que je considère comme mes "principal" du projet, tout est très lent. Ce que je veux dire, c'est que chaque fois que je lance une commande ls, par exemple - il y a environ cinq secondes de retard entre le moment où la commande est exécutée et le temps que je peux utiliser le terminal de nouveau.

Ce qui pourrait être différent de celui des pensions de qui fait Zsh-elle si lente? Je suppose que c'est un Zsh-chose car il n'y avait pas de problème avant de commencer à utiliser Zsh. J'ai essayé de faire un git clean mais il n'a fait aucune différence notable.

Je suis sur Mac OS X, si ce qui compte.

Mise à jour: s'avère que cette ligne de mon .zshenv est ce qui était de le rendre lent:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Si je commente cette ligne, cela va de la prise environ 3 secondes pour prendre environ 1 seconde. Malheureusement, j'ai besoin de cette ligne, car la plupart de mes projets utiliser RVM. Je ne sais pas quoi faire maintenant.

Mise à jour 2: cela semble être spécifiquement un oh-my-zsh chose. Si je ne charge pas ~/.oh-my-zsh/oh-my-zsh.sh, je n'ai pas le problème.

  • et si vous utilisez bash maintenant, est-il lent?
  • Excellente question. Non, c'est rapide sur le coup.
  • Est-il encore lent, si vous déplacez votre ~/.z* fichiers de la route?
  • Pas de. Donc je suppose que c'est quelque chose dans un de ces.
  • Bon, le coupable semble être ~/.oh-my-zsh/oh-my-zsh.sh. Je ne sais pas quoi faire avec cette information, bien que.
  • Il réduit encore plus loin et mise à jour de ma réponse.
  • Aussi, quand j'inclus oh-my-zsh.sh dans mon .zshrc, pour une raison quelconque, les charges de .zshenv deux fois, ce qui charge RVM deux fois, ce qui doit certainement rendre les choses plus lentement que nécessaire.
  • Si l'opération est grand, appelant git st, à chaque fois, pourrait ralentir la coquille vers le bas. Utilisez cette option pour le désactiver. git config --add oh-my-zsh.cacher-statut 1
  • Pour info cela se produit également sur WSL sur Windows avec Oh My Zsh.

InformationsquelleAutor Jason Swett | 2012-10-07