Andrzej Skiba <[email protected]> writes: > I experience a 3-5sec. lag when doing anything with magit on Windows > (status, diff, stage etc.). > > I tried to look around if anyone else has had that problem but it all > seems to relate to git not being called directly but through PATH. Not > the case for me. (Mostly older posts anyways) > > Has anyone else seen this on their machine?
Yes. On a VMWare virtual machine with Win XP 32 bits pressing `g' on a Magit status buffer takes ~3 seconds. On a virtual machine with Windows 8.1 64 bits it takes 6 seconds. Same for staging, showing the changes on an edited file and many other operations. It's really annoying. On a real Windows machine it takes less time. For instance, on a old Win XP netbook Magit works faster than on the Win XP virtual machine running on a 2.4 GHz quadcore workstation. I investigated this and the problem consists on Magit executing multiple `git' invocations for a given command. `magit-refresh' (`g' on the status buffer) invokes git approx. 36 times. Windows is not so fast as Linux at creating processes. And on a VM, process creation is significantly slower. Finally, git is super-optimized for Linux and the Windows port is happy with making things work without extensive platform-specific changes. The net result is that Magit on Windows is slow because it executes git lots of times for an operation and each git invocation is much slower than on Linux. Magit could reduce the number of git invocations (`magit-refresh' executes the exact same git commands multiple times; the result of such commands could be cached) but a real perfomance breakthrough would require re-engineering Magit and/or extensive adaptations of git to Windows. -- 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/d/optout.
