MacOS yeni kabuklar için başlatma süreleri onlar için çok yavaş olduğu sonucuna varmaya herkes için, bu çözüm .
Sadece üzerinden kurulabilen iki paket olduğunu keşfettim brew. Ben yükleme oldum bash-completionbile, ben bir problemi tekrar ediyorum, Zaman zaman şimdi 5'e kadar, 4'e, bu süre içinde ben Bash 3 geçmemize rağmen bunu sorgulamaya asla rahatsız yıllardır paketi ve , genellikle bu StackOverflow tartışmasını tökezledi.
Başka bir paket daha var bash-completion@2!
Fark ne? bash-completionBash 3.2 sürümü içindir. bash-completion@2Bash sürüm 4.1+ ve 5 içindir.
Eski bash-completionpaketi kaldırırken ve yüklerken bash-completion@2, kabuk başlatma sürelerim 605ms'den 244ms'ye düştü. Bu büyük bir hız artışı.
brew infoİstatistiklerin birincisinin tonlarca yüklemeye sahip olduğunu gösterdiği gibi, ikimizin de aynı hatayı yaptığından şüpheleniyorum ;

Unutulmamalıdır akım seçilen yanıt (eski kullanılıyorsa kez devreye almadan sadece hafif bir iyileşme sağlar bazı çizgiler, dışında yorum bahseder bash-completionbirçok muhtemelen paketi), ancak yeni üzerinde hiçbir etkisi yoktur bash-completion@2paketin: Bu yeni bir paket ne olursa olsun hızlı. Bu, herhangi bir saldırıya gerek olmadığı anlamına gelir.
TL; DR:
brew uninstall bash-completion && brew install bash-completion@2
.bashrcVeya .bash_profiledosyanızdaki tamamlama dosyasının kaynak yolunu güncellemeyi unutmayın .
Kaynaklar:
Biraz ilgili bir konu olarak, rcloneyardımcı programı çok kullanıyorum, bu yüzden yüklü. Ayrıca şimdiye kadar gördüğüm en büyük tamamlama dosyasına sahip . Bunu kaldırmak benim kabuk başlangıç zamanlarımı ~ 120 ms'ye düşürür, ki bu çok hızlıdır.
Düzenle:
Bu sorunu açıklayan teknik ayrıntıları isteyen herkes için, bu konuyu Homebrew forumlarında uzun süre yazdım . Özetlemek gerekirse, bash-completion@2çok daha hızlı olmasının nedeni, tüm tamamlama dosyalarını artık hevesle yüklememesi için yazılmış olmasıdır ; bunun yerine isteğe bağlı olarak bir tamamlama dosyası yükler veya yazarın açıkladığı gibi, dosyaları istekli olmayan bir şekilde yükler .