Jestem zmuszony używać Windows 10 do projektu. Tak, wolę używać GNU / Linux. Aby zachować zdrowie psychiczne, starałem się traktować Windows jako program ładujący Emacsa :)
Niestety, Magit (jedna z moich ulubionych części Emacsa, która również rekompensuje brak dobrego wiersza poleceń w systemie Windows) jest nieznośnie powolny. Mam dysk SSD, 16 GB pamięci RAM i czterordzeniowy i7, ale wykonanie go w małym repozytorium zajmuje osiem sekundmagit-status . Następnie, gdy chcę wprowadzić kolejną zmianę, zajmuje to około 5 sekund na plik .
Oto, co próbowałem:
$ git config --global core.preloadindex true$ git config --global core.fscache true$ git config --global gc.auto 256- Dodanie całego projektu do listy wykluczeń Windows Defender (mój jedyny AV)
- Ustawienie
magit-git-executablezwykłego msysgit, który pobrałem ( https://git-for-windows.github.io/ ). Sprawdziłem igit statustutaj zajmuje <1 sekundę. Wiem, żemagit-statusto znacznie więcej, ale to za dużo.
Czy ktoś może zasugerować, jak to zrobić szybciej? Nie mogę sobie wyobrazić nikogo używającego Magit w systemie Windows w ten sposób.
Zasugerowano, że to pytanie jest duplikatem, ale zadali:
Próbuję zrozumieć, dlaczego Emacs ma zauważalnie krótszy czas uruchamiania na Ubuntu niż Windows. Czy ktoś zna odpowiedź?
Znam przynajmniej kilka powodów, dla których Emacs, Git i Magit działają wolniej w systemie Windows. Pytam, w jaki sposób zoptymalizować Magit, aby wykonać mniej czynności, buforować wyniki lub coś podobnego, nawet jeśli odbywa się to kosztem funkcjonalności.
gitpoleceń z wiersza poleceń?
magit-git-executablebędzie prawdopodobnie nieco szybszy (te wewnątrz cmdi binfaktycznie są opakowaniami, jeśli executable-findzwróci jeden z nich magit spróbuje ustawić magit-git-executablesię na „prawdziwego” gita). 8 sekund na małe repozytorium wydaje się, że coś innego jest nie tak, zajmuje ~ 0,8 s dla repozytorium magit tutaj (Windows 8).
magit-refresh-verbosena t.
git-statuszajmuje <1 sekundę? Powinno to być zasadniczo natychmiastowe. Czy w ogóle jest jakieś zauważalne opóźnienie?