Menghapus plugin chruby dan menambahkan chruby ke .zshrc
saya secara manual mengambil 500ms dari waktu startup terminal saya.
Saya dapat mereproduksi pada mesin OS X 10.9.5 saya.
+ 1455372625.828910 /Users/janke/.oh-my-zsh/oh-my-zsh.sh:81> plugin=chruby
+ 1455372625.828954 /Users/janke/.oh-my-zsh/oh-my-zsh.sh:82> [ -f /Users/janke/.oh-my-zsh-custom/plugins/chruby/chruby.plugin.zsh ']'
+ 1455372625.829008 /Users/janke/.oh-my-zsh/oh-my-zsh.sh:84> [ -f /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh ']'
+ 1455372625.829074 /Users/janke/.oh-my-zsh/oh-my-zsh.sh:85> source /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh
+ 1455372625.829375 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:17> alias 'rubies=chruby'
+ 1455372625.829660 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:36> _ruby-build_installed
+ 1455372625.829715 _ruby-build_installed:1> whence ruby-build
+ 1455372625.830336 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:66> _homebrew-installed
+ 1455372625.830387 _homebrew-installed:1> whence brew
+ 1455372625.830445 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:66> _chruby-from-homebrew-installed
+ 1455372625.831099 _chruby-from-homebrew-installed:1> brew --prefix chruby
+ 1455372626.053828 _chruby-from-homebrew-installed:1> [ -r /usr/local/opt/chruby ']'
+ 1455372626.054501 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:67> brew --prefix chruby
+ 1455372626.269022 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:67> source /usr/local/opt/chruby/share/chruby/chruby.sh
...
+ 1455372626.271227 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:68> brew --prefix chruby
+ 1455372626.494185 /Users/janke/.oh-my-zsh/plugins/chruby/chruby.plugin.zsh:68> source /usr/local/opt/chruby/share/chruby/auto.sh
Sebagian besar waktunya dihabiskan untuk panggilan brew --prefix chruby
, yang dapat dilakukan hingga tiga. Perintah brew
adalah program ruby, dan tidak cepat. Bukan sesuatu untuk dipanggil berulang kali selama startup. Setidaknya, plugin chruby
harus memanggil brew --prefix chruby
sekali dan menyimpan hasil dalam sebuah variabel untuk menghindari panggilan yang berlebihan. Lebih baik lagi, beralih menggunakan brew --prefix
biasa dan buat jalur ke chruby di zsh dengan $(brew --prefix)/opt/chruby
. Panggilan biasa brew --prefix
dioptimalkan, dan hanya membutuhkan waktu sekitar 15 mdtk pada sistem yang cepat.
Untuk referensi di masa mendatang, Anda dapat melakukan pembuatan profil seperti ini sendiri untuk mendiagnosis masalah kinerja:
Tempelkan ini di awal Anda ~/.zshrc
.
# Debugging prompt with timestamp for profiling
PS4=$'+ %D{%s.%6.} %N:%i> '
Kemudian jalankan zsh -lx 2>zsh-startup.log
dan lakukan exit
sebagai perintah pertama di shell yang dihasilkan yang terbuka. Anda akan mendapatkan jejak waktu dari urutan startup Anda. Itu akan membantu memberi tahu Anda bagian mana yang memakan waktu begitu lama. Anda dapat menempelkannya di spreadsheet dan membedakan stempel waktu di baris berikutnya untuk mendapatkan waktu eksekusi agar lebih mudah. Atau gosok kata sandi atau token apa pun darinya dan poskan sebagai inti jika Anda memerlukan bantuan untuk menganalisisnya.
Saya senang dengan perbaikan ini, jadi tutup, terima kasih @T0mK0!
Komentar yang paling membantu
Saya senang dengan perbaikan ini, jadi tutup, terima kasih @T0mK0!