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-completion
bile, 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-completion
Bash 3.2 sürümü içindir. bash-completion@2
Bash sürüm 4.1+ ve 5 içindir.
Eski bash-completion
paketi 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-completion
birçok muhtemelen paketi), ancak yeni üzerinde hiçbir etkisi yoktur bash-completion@2
paketin: 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
.bashrc
Veya .bash_profile
dosyanızdaki tamamlama dosyasının kaynak yolunu güncellemeyi unutmayın .
Kaynaklar:
Biraz ilgili bir konu olarak, rclone
yardı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 .