Hello all, I use magit to interact with github.com/mozilla/mozilla-central, a fairly large repository, and it is a poor experience. My beefy laptop with an SSD regularly janks for 10-30 seconds on synchronous git invocations. I would like to improve the magit experience.
I have several patches under development to make magit performant, and I would love testers and reviewers. For example, [1] speeds up branch-guessing significantly for me. I also have patches in the works to * add a mode-line indicator during refresh; * cache some frequent git invocations; * make displaying tree-graph output in logs an option (this is very slow on large repositories); * log git invocations, outputs, and record running times (so that we can profile magit more effectively); * make sections not be refreshed automatically. These almost make magit useable with mozilla-central. If you're interested in any of these approaches, or have other requests or ideas for making magit speedier, please let me know [2]. Yours, Nick Alexander [1] https://github.com/magit/magit/pull/636 [2] A few things I think are not feasible: It appears to me that magit essentially does not cache. This is most evident in `magit-refresh-buffer', which tears down all sections and synchronously invokes git to repopulate everything. (There is a small sop to maintaining `needs-refresh' state for diffs.) I was surprised, at first, but this seems like an excellent decision: git can cache better than magit can, and this makes running magit in multiple repositories transparent. magit does not do much refresh work asynchronously. Changing refresh to invoke git asynchronously would be a significant reworking of the section internals, to my eye, so I would not propose such changes. -- --- You received this message because you are subscribed to the Google Groups "magit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
