निष्कर्ष यह है कि MacOS पर नए गोले के लिए स्टार्टअप समय उनके लिए बहुत धीमी गति से कर रहे हैं के लिए आ रहा किसी के लिए, यह है समाधान ।
मुझे अभी पता चला है कि वास्तव में दो पैकेज हैं, जिनके माध्यम से स्थापित किया जा सकता है brew। मैं bash-completionवर्षों से पैकेज स्थापित कर रहा हूं , और कभी भी इस पर सवाल उठाने की जहमत नहीं उठाई, भले ही उस समय में मैं बैश 3 से 4 तक चला गया हूं, अब 5 तक। समय-समय पर, हालांकि, मैं समस्या पर दोबारा गौर करूंगा। , अक्सर इस StackOverflow चर्चा पर ठोकर खाते हुए।
एक और पैकेज है bash-completion@2,!
क्या फर्क पड़ता है? bash-completionबैश संस्करण 3.2 के लिए है। bash-completion@2बैश संस्करण 4.1+ और 5 के लिए है।
पुराने bash-completionपैकेज को हटाने , और स्थापित करने में bash-completion@2, मेरा शेल स्टार्टअप समय 605ms से 244ms पर गिर गया है। यह एक बड़ी गति में सुधार है।
मुझे संदेह है कि हम में से बहुत से लोग यह गलती कर रहे हैं, क्योंकि brew infoआंकड़े बताते हैं कि पूर्व में टन स्थापित है, जबकि बाद में बहुत कम है:

यह ध्यान दिया जाना चाहिए कि वर्तमान चुने गए उत्तर में कुछ पंक्तियों का उल्लेख किया गया है, जो केवल स्टार्टअप समय (यदि पुराने bash-completionपैकेज का उपयोग करते हुए , जो कि शायद बहुत से हैं) का मामूली सुधार प्रदान करता है , लेकिन नए bash-completion@2पैकेज पर कोई प्रभाव नहीं पड़ता है : यह नया पैकेज तेजी से कोई बात नहीं क्या है इसका मतलब है कि कोई हैक की आवश्यकता नहीं है।
टी एल; डॉ:
brew uninstall bash-completion && brew install bash-completion@2
याद रखें कि अपने .bashrcया .bash_profileफ़ाइल में स्रोत पथ को पूरा करने के लिए अद्यतन करें ।
सूत्रों का कहना है:
एक विषय के रूप में कुछ हद तक संबंधित है, मैं rcloneउपयोगिता का बहुत उपयोग करता हूं , इसलिए यह स्थापित है। यह मेरे द्वारा देखी गई सबसे बड़ी पूर्ण फ़ाइल होने के लिए भी होता है । इसे हटाने से मेरे शेल स्टार्टअप का समय ~ 120ms कम हो जाता है, जो बहुत तेज़ है।
संपादित करें:
जो कोई भी तकनीकी विवरण चाहता है, जो इस समस्या की व्याख्या करता है, मैंने इसके बारे में Homebrew मंचों पर लंबाई में लिखा है । संक्षेप में, कारण यह bash-completion@2है कि इतनी तेज है क्योंकि यह लिखा गया था ताकि यह अब सभी पूर्ण फ़ाइलों को उत्सुकता से लोड न करे ; इसके बजाय यह एक पूर्ण फ़ाइल ऑन-डिमांड को लोड करता है, या जैसा कि लेखक इसका वर्णन करता है, यह उन्हें गैर-उत्सुक तरीके से लोड करता है।