- Oh My Zsh(OMZ) अब भी व्यापक रूप से सुझाया जाता है, लेकिन यह शेल स्टार्टअप समय को धीमा करने वाला अनावश्यक स्क्रिप्ट ओवरहेड पैदा करता है
- OMZ शेल स्क्रिप्ट में लिखा गया है, इसलिए हर बार नया टर्मिनल टैब खोलने पर सभी स्क्रिप्ट्स को इंटरप्रेट करना पड़ता है, और सिर्फ डिफ़ॉल्ट सेटिंग्स में भी लगभग 0.38 सेकंड की देरी होती है
- सरल न्यूनतम Zsh सेटअप, Starship prompt, और fzf-आधारित history search इस्तेमाल करने पर स्टार्टअप समय 0.07 सेकंड तक घटाया जा सकता है
- Starship एक ही binary से prompt बनाता है, और OMZ के git·virtual environment·language-specific plugins को replace कर देता है
- जटिल plugins की बजाय ज़रूरत के फीचर्स ही सीधे जोड़ने वाला हल्का शेल कॉन्फ़िगरेशन ज़्यादा प्रभावी है
Oh My Zsh की प्रदर्शन समस्या
- Oh My Zsh(OMZ) अब भी बहुत इस्तेमाल होता है, लेकिन अनावश्यक ओवरहेड (bloat) की वजह से शेल स्टार्टअप की गति कम हो जाती है
- OMZ शेल स्क्रिप्ट्स से बना है, इसलिए हर बार नया टर्मिनल टैब खोलने पर सभी स्क्रिप्ट्स को इंटरप्रेट करना पड़ता है
- डिफ़ॉल्ट plugins (
git, zsh-autosuggestions, zsh-autocomplete) शामिल सेटअप में /usr/bin/time -f "%e seconds" zsh -i -c exit चलाने पर 0.38 सेकंड लगे
- git repository फ़ोल्डर में नया टैब खोलने पर अनुभव के हिसाब से लगभग 1 सेकंड की देरी महसूस होती है
- OMZ समय-समय पर updates की जाँच करता है, और इस प्रक्रिया से कुछ सेकंड की अतिरिक्त देरी हो सकती है
- शेल कॉन्फ़िगरेशन को बार-बार अपडेट करना अनावश्यक है, और केवल ज़रूरी फीचर्स सीधे जोड़ने वाला सरल सेटअप सुझाया जाता है
न्यूनतम Zsh सेटअप
prompt customization
history search
- आम तौर पर इस्तेमाल होने वाला
zsh-autosuggestions plugin टाइप करते समय suggestions दिखाता है, जिससे ध्यान भटक सकता है
- इसकी जगह fzf को
Ctrl+R से bind करके history को interactive fuzzy search के ज़रिए खोजा जा सकता है
source <(fzf --zsh)
प्रदर्शन सुधार का परिणाम
अतिरिक्त टिप्स
निष्कर्ष और उपयोग के मामले
- OMZ से स्विच करने के बाद कुछ ही दिनों में नए workflow के अनुरूप ढल गए
- ज़रूरत के plugins को सीधे manual load किया जा सकता है
- कई टैब खोलने का कारण tmux और terminal-based editor (helix) का साथ में उपयोग है
- tmux में
lazygit और yazi file manager को popup रूप में चलाया जाता है
- code execution और test output के लिए अस्थायी split panes उपयोग होते हैं, और हर एक अलग शेल session की तरह काम करता है
टिप्पणियों का सार
- कुछ users का कहना है कि OMZ का स्टार्टअप समय 0.03 सेकंड के स्तर पर काफ़ी तेज़ है
- लेखक ने इशारा किया कि
zsh-autocomplete plugin गति को धीमा करता है
zsh-bench परिणामों में OMZ के लिए first prompt delay 603ms और सरल Zsh सेटअप के लिए 103ms मापा गया
- Starship, OMZ की prompt-संबंधित सुविधाओं को एक ही टूल से replace करता है
- अन्य users ने Zimfw, Atuin, और खुद लिखे गए bash prompt जैसे विकल्पों का उल्लेख किया
अभी कोई टिप्पणी नहीं है.