ZSH zajmuje około półtorej sekundy od utworzenia nowego okna terminala do gotowości. Jestem prawie pewien, że winowajcą jest compinit
.
Nie udało mi się znaleźć dobrej dokumentacji, compinit,
ale wygląda na to, że powinna ona buforować wszystkie niezbędne rzeczy w jakimś pliku .zcompdump
.
Jakieś sztuczki na przyspieszenie?
Chociaż ZSH ma swój własny spowolnienie, jeśli okaże się, że okno terminala jest puste przez kilka chwil, zanim zobaczysz
Last Login:
linię, będziesz musiał wyczyścić pliki dziennika, aby zobaczyć poprawę prędkości. Jest to nadal problem dotyczący systemu OSX Lion i należy go wykonywać co kilka miesięcy. Kulawy, wiem.Polecenie to:
Oczywiście, ty potrzebujesz , aby przeczytać ten artykuł wcześniej i tak wiesz dokładnie, co się dzieje, ponieważ działa wszystko, co mówi,
sudo rm
musi być zastanowił. Umieściłem to tutaj tylko dlatego, że korzystanie z ZSH świadczy o kompetencji w uruchamianiu wiersza poleceń.źródło
-r
ponieważ nie są zaangażowane żadne katalogi i nie jest to potrzebne. Pominięcie go powoduje mniej łez, jeśli ktośsudo rm -rf / private/var/log/asl*.asl
przez pomyłkę pisze (spacja przed prywatnym).cd /private/var/log/asl
a następnierm -f *.asl
. Również dla przypomnienia, ta odpowiedź uratowała mnie od czasu uruchamiania, który zbliżał się do 10 sekund, wielkie dzięki!trash /private/var/log/asl*.asl
.trash
oczywiście będzie musiał zostać zainstalowany.brew install trash
Moje największe ulepszenie przyniosło usunięcie elementów z sekcji plugin = (). Wtyczki „github” i „brew” są bardzo wolno ładowane.
Usunąłem również hub, do którego miałem alias,
git
co przyspieszyło również monit.Używałem „/ usr / bin / time zsh -i -c exit” do rejestrowania czasów uruchamiania, jednak
compinit
nie wydaje mi się, aby miało to dla mnie wystarczająco dużą różnicę.Byłoby wspaniale usłyszeć, co robią inni, aby to przyspieszyć.
źródło
github
ibrew
wtyczek natychmiast rozwiązało mój problem.git
abrew
wtyczki są dla mnie niezbędne. Usunięcieruby
wtyczki rozwiązało mój problem. Dzięki.Czy korzystasz z preinstalowanego
/bin/zsh
czy innego? Pytam, ponieważ zsh, który zainstalowałem przez Fink, zaczyna się strasznie wolno z powodu włączenia szablonów zsh , podczas gdy wanilia zaczyna się od razu.Czy uruchamianie z jawnym plikiem zrzutu (
compinit -d dumpfile
) powoduje, że działa szybciej? Strona podręcznika stwierdza, żeźródło
compinit
nigdy nie jest wywoływane. Kiedy dzwonię ręczniecompinit
, zajmuje to trochę czasu. Może to tylko dlatego, że Oh My Zsh dodaje tak wiele powiązań do współzależności?Teraz oh-my-zsh sprawdza specjalną opcję konfiguracji git oh-my-zsh.hide-status przed zapytaniem o status. Więc biegnij
w problematycznym repozytorium.
źródło
.zshrc
. Obecnie mam problemy z powolną odpowiedzią internetową, która spowolniła działanie zshZsh sam się uruchamia w około 0,1 sekundy, co jest wystarczająco dobrym wynikiem. Właśnie zauważyłem, gdy zbliżyłem się do znaku 50 000 historii poleceń, że ładowanie pierwszego monitu stało się bardziej jak 3 sekundy.
Nie wiem, jak znaleźliście te wszystkie powody powolnego uruchamiania, ale mój był dokładnie taki, jak sądziłem. Zrobiłem A
mv ~/.zsh_history zsh_history_backup
i BAM, 3 sekundowe uruchomienie to teraz 0.1 sekundowe uruchomienie. Co ciekawe,/usr/bin/time /bin/zsh -i -c exit
nie udało się uchwycić czasu potrzebnego do załadowania historii.Jeśli jednak nie masz dziesiątek tysięcy poleceń w historii zsh, to nie o to chodzi. Mój
~/.zsh_history
zmierzył 1,8 MB. Bardzo możliwe jest przypadkowe wklejenie dużej ilości rzeczy jako polecenia do terminala, spowoduje to również szybkie powiększenie historii (choć jest to coś, czego należy bardzo unikać, ponieważ może to być wyjątkowo destrukcyjne).źródło
Używałem motywu „af-magic”
Przejście na „muzę” rozwiązało problem.
Edytuj ~ / .zshrc i zmodyfikuj ten wiersz:
źródło
Naprawdę poprawiłem szybkość po wyczyszczeniu katalogu ~ / .oh-my-zsh / plugins /. Było w nim wiele nieużywanych wtyczek.
źródło
Dodaj następujące elementy do ~ / .zshenv
źródło