Questions  - 
 
Has anyone complied emacs with msvc on windows? If so is there a speed enhancement? I love emacs but it keeps on getting slower and slower on windows. I'm forced to use windows at work, so changing to mac or linux is not an option. 
1
David Capello's profile photoMatthew Fidler's profile photoAlex Bennée's profile photobin chen's profile photo
14 comments
 
I'm sure it's not related to compiler. you need optimize your elisp. use autoload if possible. I'm fine with my eeepc701 and emacs 24. See my emacs.d at https://github.com/redguardtoo/emacs.d which is optimized. Also search my previous posts in G+
 
Actually my start up is optimized. It takes about 3 times longer to load the same startup files on windows than a mac or linux. 
 
It also slows down when using things like powerline. 
Xah Lee
 
i think +David Capello might have tried... or he might have tried to compile with gcc using MinGW. I think it had problems....
 
I have with mingw and gcc. I tried dumping emacs to speed the startup time. While it sort of worked, it was too much work. 
 
Could it be fragmentation of the filesystem? It would be especially noticed if you are losing a lot of elisp extensions.
 
Last time I check, you need vc6 to compile emacs. I've compiled it with mingw too. Anyway it would be great to compile it with profiling information to know where it's the bottleneck.
 
Alex, I don't think it is fragmentation.  I run emacs portability on my usb drive (https://github.com/mlf176f2/EmacsPortable.App).  It shares the same emacs lisp on Windows, Mac and Linux.  If it was fragmentation, then the other OSes would have similar slow run times.

The fastest run times are under puppy linux (which runs off my usb drive on the same computer).  However the slowest run times are under a SCM managed 32-bit Windows XP.  

Perhaps everything is linked to Windows XP being slow, and even slower on this particular laptop. It may also be linked to how windows xp manages the USB drive.  I saw significant speed increases by running the emacs executables from the hard drive and even more by copying the lisp files to the hard-drive. But it is still slower than the other options.  Since I'm forced to use the slow computer  I'm always searching for ways to speed up emacs. (For example I found that yasnippet was VERY slow when running of a usb, and introduced yas-jit for just-in-time loading of yasnippet.  Yasnippet has since integrated the idea into the trunk).

In my job, I compile Fortran programs that takes sometimes weeks or months to run.  I have noticed a speed up with particular compilers (Intel is very superior to G95), so I wonder every day if emacs compiled with MSVC would run better for me.  I can never find MSVC distributed emacs binaries to make the comparison, however.
 
Do you have all your extra elisp under DVCS? Is vc-mode walking tour histories?
 
It could be that. Git is very slow on windows. Does anyone know how to turn off this feature?
 
Well the simplest way to test would be just to rename the .git directory to something else temporarily. See if that helps and if it does you can just remove Git from the list of supported vc backends: (setq vc-handled-backends (remq 'Git vc-handled-backends)).

The main reason I suggest testing it first is because I found something was adding Git back to vc-handled-backends which might confuse things.
 
Now that the recent MSYS Git installer adds a git.exe shim in Git\cmd\, so Emacs doesn't need to go through cmd.exe to call it, using it became much faster.
I doubt it could be the reason for slow startup anyway, unless something in the init file calls vc-* commands.
 
I need to make sure I'm using the latest git then...
 
I have used Emacs on Windows for 18 years or so; plenty fast for my purposes when using compiled elisp for add-ons, and when using deferred load of elisp. Of course I only do startup once a month or so.
Add a comment...