-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slow to open (+45 seconds) #65
Comments
For me it also takes quite long under Linux, at least with our main (fairly big) repository. |
Hi @dfishburn
yes, you can enable a profiling function:
yes, you can try to set: Again, it is difficult to me to enhance experience with windows, as I don't work with such environment. Someday, I will install a virtual machine with Windows, when I'll find some time :) Hi @fpnick , thanks for your report. There is an existing bug report about performance issues with Linux. If you mind, you may want to update it: #36. But you are right, performance is important, but reliability is more important IMO (I guess you don't want me to play evil with your git repo 😈 ). And if reproduce bug is dificult, reproduce performance issue is even harder! |
Thanks,
This changed the load time from 45 seconds to 4-7 seconds. I will also give the logging a try and see where I get. Thanks for the reply. |
Woot, 10x speed up 👏 Still, if you're OK to go deeper in analysis, I would need some git status output, see if play with lot of modified files, big changes in files, submodules and so on. Anyway, thanks for your time. |
BTW, my time with 45 seconds down to 4-5 seconds, seems to be related to how many buffers I have open in Vim. Since I restarted Vim, things are much faster and I have probably 10 files open instead of 100. Not sure if Magit is doing anything different / buffer? Can you let me know if I need to pursue that. I tried the profiling:
With an appropriate filename ("C:\temp\magit_profile1.txt").
Then tried to find that file. It was never written. According to :h :profile, the profile file should have been written when Vim was closed. Not sure why it wasn't written, but will pursue that again when I have more time. Right now I am running with 39 buffers open (many are temporary from other plugins). I of course still see it shelling out and running lots of commands. |
I don't see why a lot of opened files would slow down vimagit. There may be a weird side effect, but I don't have any lead about this.
Yes, it should be written when you exit vim. Did you searched if there is a special behavior with windows?
For each file present in
Each entry may be visible or not (default behavior is set with Most of these output need external commands. I did not know the behavior of "shelling out" on Windows. It could be interesting to find a comparison of typical execution overhead on Windows and Linux. |
Hi, what is the status with current master/next branch? |
I close this ticket as I can't reproduce the issue. Feel free to reopen it if you encounter the same problem. |
I am running on Windows, when executing shell commands with Vim, there is a little popup that shows up in the Windows taskbar. So if I run :grep or other such commands, this "cmd.exe" task will be present until the task completes.
When I open :Magit
I can see that cmd.exe window flashing over and over and over.
I would like to know a couple of things.
The reason I ask, is when I hit R (for refresh) in the Magit window this just took 45 seconds. Which is an absolute AGE. Yet, if I run :git status, I get essentially the same information in 1 second (minus the diffs).
Depending on your answer, here are some in advance.
If it is the diffs that are taking Magit so long to open, is it possible to turn those off by default and just show the modified files (just like git status). Then having a mapping which I use to ask Magit to fetch the diffs for the file (quite often these diffs are useful). If this could allow me to run :Magit in 2 seconds v 45 seconds it would make me user experience much much better.
David
The text was updated successfully, but these errors were encountered: