Saya terpaksa menggunakan Windows 10 untuk proyek. Ya, saya lebih suka menggunakan GNU / Linux. Untuk menjaga kewarasan saya, saya sudah mencoba menganggap Windows sebagai bootloader untuk Emacs :)
Sayangnya, Magit (salah satu bagian favorit saya dari Emacs, yang juga menebus kurangnya baris perintah yang baik pada Windows) lambat sekali. Saya memiliki SSD, 16 GB RAM dan quad-core i7 tetapi butuh delapan detik untuk mengeksekusi magit-status
pada repositori kecil. Lalu, ketika saya ingin melakukan perubahan lain, dibutuhkan sekitar 5 detik per file .
Inilah yang saya coba:
$ git config --global core.preloadindex true
$ git config --global core.fscache true
$ git config --global gc.auto 256
- Menambahkan seluruh proyek ke daftar pengecualian Windows Defender (AV saya saja)
- Mengatur
magit-git-executable
ke msysgit biasa yang saya unduh ( https://git-for-windows.github.io/ ). Saya memeriksa dan inigit status
membutuhkan waktu <1 detik. Saya tahu itumagit-status
lebih banyak, tetapi ini terlalu banyak.
Adakah yang bisa menyarankan cara untuk membuat ini lebih cepat? Saya tidak bisa membayangkan orang menggunakan Magit di Windows seperti ini.
Disarankan bahwa pertanyaan ini adalah duplikat, tetapi mereka bertanya:
Saya berjuang untuk memahami mengapa Emacs memiliki waktu startup yang lebih singkat di Ubuntu daripada Windows. Adakah yang tahu jawabannya?
Saya tahu setidaknya beberapa alasan mengapa Emacs, Git, dan Magit lebih lambat di Windows. Saya bertanya bagaimana cara mengoptimalkan Magit untuk melakukan lebih sedikit, atau hasil cache, atau sesuatu, bahkan jika itu dengan mengorbankan fungsionalitas.
git
perintah yang setara dari baris perintah?
magit-git-executable
mungkin akan sedikit lebih cepat (yang ada di dalam cmd
dan bin
sebenarnya adalah pembungkus, jika executable-find
mengembalikan salah satunya magit akan mencoba untuk mengatur magit-git-executable
ke git "nyata"). 8 detik untuk repositori kecil terdengar seperti ada sesuatu yang salah, butuh ~ 0.8s untuk repo magit di sini (Windows 8).
magit-refresh-verbose
ke t
.
git-status
Dibutuhkan <1 detik? Ini harus pada dasarnya instan. Apakah ada penundaan yang jelas sama sekali?