Ohmyzsh: المكون الإضافي chruby بطيء

تم إنشاؤها على ١٣ فبراير ٢٠١٦  ·  3تعليقات  ·  مصدر: ohmyzsh/ohmyzsh

أدت إزالة المكون الإضافي chruby وإضافة chruby إلى .zshrc يدويًا إلى إزالة 500 مللي ثانية من وقت بدء تشغيل الجهاز.

التعليق الأكثر فائدة

أنا سعيد بهذا الإصلاح الختامي ، شكرًا @ T0mK0!

ال 3 كومينتر

يمكنني إعادة الإنتاج على جهاز OS X 10.9.5 الخاص بي.

+ 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

يتم إنفاق معظم وقته على مكالمات brew --prefix chruby ، والتي تقوم بما يصل إلى ثلاثة منها. الأمر brew هو برنامج روبي ، وليس سريعًا. لا شيء للاتصال مرارا وتكرارا أثناء بدء التشغيل. على الأقل ، يجب أن يستدعي المكون الإضافي chruby brew --prefix chruby مرة واحدة ويخزن النتيجة في متغير لتجنب المكالمات المتكررة. والأفضل من ذلك ، قم بالتبديل إلى استخدام عادي brew --prefix وقم ببناء المسار إلى chruby في zsh باستخدام $(brew --prefix)/opt/chruby . تم تحسين المكالمة العادية brew --prefix ، وتستغرق حوالي 15 مللي ثانية فقط على نظام سريع.

للرجوع إليها في المستقبل ، يمكنك إجراء التنميط مثل هذا بنفسك لتشخيص مشاكل الأداء:

الصق هذا في بداية ~/.zshrc .

# Debugging prompt with timestamp for profiling
PS4=$'+ %D{%s.%6.} %N:%i> '

ثم قم بتشغيل zsh -lx 2>zsh-startup.log ونفذ exit كأول أمر في الصدفة الناتجة التي تفتح. سوف ينتهي بك الأمر مع تتبع طابع زمني لتسلسل بدء التشغيل الخاص بك. سيساعدك ذلك في إخبارك بالأجزاء التي تستغرق وقتًا طويلاً. يمكنك لصقها في جدول بيانات وفرق الطوابع الزمنية في الأسطر اللاحقة للحصول على أوقات التنفيذ لتسهيل الأمر. أو امسح أي كلمات مرور أو رموز مميزة منه وانشرها كجوهر إذا كنت بحاجة إلى مساعدة في تحليلها.

أنا سعيد بهذا الإصلاح الختامي ، شكرًا @ T0mK0!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

victorsenam picture victorsenam  ·  3تعليقات

thienedits picture thienedits  ·  3تعليقات

cbou picture cbou  ·  3تعليقات

samsondav picture samsondav  ·  3تعليقات

dogrizz picture dogrizz  ·  3تعليقات