Sou forçado a usar o Windows 10 para um projeto. Sim, eu prefiro usar o GNU / Linux. Para manter minha sanidade mental, tentei considerar o Windows como um gerenciador de inicialização para o Emacs :)
Infelizmente, o Magit (uma das minhas partes favoritas do Emacs, que também compensa a falta de uma boa linha de comando no Windows) é insuportavelmente lento. Eu tenho um SSD, 16 GB de RAM e um i7 quad-core, mas leva oito segundos para executar magit-status
em um pequeno repositório. Então, quando eu quero realizar outra alteração, leva cerca de 5 segundos por arquivo .
Aqui está o que eu tentei:
$ git config --global core.preloadindex true
$ git config --global core.fscache true
$ git config --global gc.auto 256
- Adicionando o projeto inteiro à lista de exclusão do Windows Defender (meu único AV)
- Definindo
magit-git-executable
como o msysgit regular que baixei ( https://git-for-windows.github.io/ ). Eu verifiquei egit status
aqui leva <1 segundo. Eu sei quemagit-status
faz muito mais, mas isso é demais.
Alguém pode sugerir maneiras de tornar isso mais rápido? Não consigo imaginar alguém usando o Magit no Windows assim.
Foi sugerido que esta pergunta é uma duplicata, mas eles perguntaram:
Estou lutando para entender por que o Emacs tem um tempo de inicialização visivelmente menor no Ubuntu do que no Windows. Alguém sabe a resposta?
Sei pelo menos algumas razões pelas quais o Emacs, Git e Magit são mais lentos no Windows. Estou perguntando como otimizar o Magit para fazer menos coisas, ou armazenar em cache resultados, ou algo assim, mesmo que seja à custa da funcionalidade.
git
comandos equivalentes na linha de comando?
magit-git-executable
provavelmente será um pouco mais rápida (as que estão cmd
e bin
são realmente wrappers, se executable-find
retorna um deles, o magit tentará definir magit-git-executable
o git "real"). Porém, 8 segundos para um pequeno repositório parecem estar errados, demora ~ 0,8s para o repositório do magit aqui (Windows 8).
magit-refresh-verbose
como t
.
git-status
demora <1 segundo? Deve ser essencialmente instantâneo. Existe algum atraso perceptível?