สำหรับทุกคนที่มาถึงข้อสรุปว่าเวลาเริ่มต้นสำหรับเชลล์ใหม่บน MacOS ช้าเกินไปสำหรับพวกเขา นี่คือ สารละลาย .
ฉันเพิ่งค้นพบว่ามีอยู่จริง สอง แพ็คเกจที่สามารถติดตั้งผ่าน brew
. ฉันติดตั้งแล้ว bash-completion
แพคเกจสำหรับปีและไม่เคยใส่ใจที่จะถามมันแม้ว่าในเวลานั้นฉันได้ไปจาก Bash 3 เป็น 4 ถึง 5 ตอนนี้แม้ว่าฉันจะทบทวนปัญหามักจะสะดุดกับสิ่งนี้มาก การอภิปราย StackOverflow
มีแพ็คเกจอื่น bash-completion@2
!
ความแตกต่างคืออะไร? bash-completion
ใช้สำหรับ Bash เวอร์ชัน 3.2 bash-completion@2
ใช้สำหรับ Bash เวอร์ชัน 4.1+ และ 5 MacOS นั้นได้จัดส่งพร้อมกับ Bash & gt; 4.1 มาระยะหนึ่ง
ในการถอดแบบเก่า bash-completion
แพคเกจและการติดตั้ง bash-completion@2
เวลาเริ่มต้นเชลล์ของฉันลดลงจาก 605ms เป็น 244ms นั่นเป็นการปรับปรุงความเร็วอย่างมาก
ฉันสงสัยว่าพวกเราหลายคนกำลังทำผิดพลาดนี้เช่นเดียวกับ brew info
สถิติแสดงให้เห็นว่าอดีตมีการติดตั้งจำนวนมากในขณะที่รุ่นหลังมีจำนวนน้อย:
ควรสังเกตว่า คำตอบที่เลือกในปัจจุบัน กล่าวถึงการแสดงความคิดเห็นบางบรรทัดซึ่งมีการปรับปรุงเพียงเล็กน้อยเพื่อเวลาเริ่มต้น (ถ้าใช้เก่า bash-completion
แพคเกจซึ่งหลายคนอาจจะ) แต่ไม่มีผลกระทบใด ๆ กับใหม่ bash-completion@2
package: แพ็คเกจใหม่นี้เร็วไม่ว่าอะไรจะเกิดขึ้น นั่นหมายความว่าไม่จำเป็นต้องแฮ็ก
TL; DR:
brew uninstall bash-completion && brew install bash-completion@2
อย่าลืมอัปเดตพา ธ ต้นทางไปยังไฟล์เสร็จใน .bashrc
หรือ .bash_profile
ไฟล์.
แหล่งที่มา:
เป็นหัวข้อที่ค่อนข้างเกี่ยวข้องฉันใช้ rclone
ยูทิลิตี้มากดังนั้นจึงติดตั้ง มันก็เกิดขึ้นได้ ไฟล์ความสมบูรณ์ที่ใหญ่ที่สุดที่ฉันเคยเห็น . การลบมันลดเวลาการเริ่มต้นเชลล์ของฉันเป็น ~ 120ms ซึ่งเร็วมาก
แก้ไข:
สำหรับใครก็ตามที่ต้องการรายละเอียดทางเทคนิคที่อธิบายถึงปัญหานี้ฉันเอง เขียนเกี่ยวกับเรื่องนี้ในฟอรัม Homebrew . เพื่อสรุปเหตุผลที่ bash-completion@2
มันเร็วกว่ามากเพราะมันถูกเขียนขึ้นเพื่อไม่ให้นานขึ้น กระหาย โหลดไฟล์ที่เสร็จสมบูรณ์ทั้งหมด; แทนมันจะโหลดไฟล์เสร็จตามความต้องการหรือตามที่ผู้เขียนอธิบายมันมันโหลดใน ไม่ใช่ความกระตือรือร้น ลักษณะ.