[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Speeding up Emacs load time
From: |
Sebastien Vauban |
Subject: |
Re: Speeding up Emacs load time |
Date: |
Thu, 25 Jul 2013 09:25:00 +0200 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (windows-nt) |
Hi J. David,
J. David Boyd wrote:
> "Sebastien Vauban" <sva-news@mygooglest.com> writes:
>> Glyn Millington wrote:
>>> One popular technique is not to load packages until you need 'em. That means
>>> fewer 'requires' in your .emacs/init.el file and more autoloads.
>>>
>>> See tips 3-5 here!
>>>
>>> http://a-nickels-worth.blogspot.co.uk/2007/11/effective-emacs.html
>>>
>>> The key function is eval-after-load
>>
>> I'm using GNU Emacs on Windows, and using the above, I could reduce my load
>> time from 10+ seconds to 3 seconds. Still 3 x over many of you, which report
>> sub-seconds load time.
>>
>> Though, I'm a bit blocked. I don't understand how to do better, or how to
>> completely avoid all the require commands.
>>
>> Just take a few exemple:
>>
>> - `(server-start)' takes more than 200 ms to run [1]; just that one command.
>> Though, I must have it in my .emacs file, right?
>>
>> - diff-mode-.el must be loaded before diff-mode; hence, I must have it at
>> startup.
>>
>> - Helm is my tool for opening files or switching between buffers. Just
>> requiring `helm-config' (almost only autoloads) -- hence, NOT `helm' (which
>> is more hungry in time) -- already takes 160 ms (as it still requires
>> `easy-menu' and `helm-aliases').
>>
>> - `diary-lib' and co (needed for appointments notification) takes 233 ms.
>> Shouldn't I be notified at startup of events occurring in less than 15
>> minutes, without having to make a first call to calendar or so?
>>
>> - `mic-paren' takes just 32 ms, but for just one small package, for which I
>> don't have a particular trigger. Is it `find-file-hook'? Then, I won't
>> have
>> parenthesis highlighted when directly typing text in a newly created buffer
>> (or in the scratch). So, I need it in my .emacs. It's not
>> eval'ed-after-load
>> of something else.
>>
>> - The same for YASnippet (loaded in 130 ms): what would be the trigger?
>> Unless I have a clear one, I must require it in my .emacs file.
>>
>> - Once again, the same with `recentf', which takes 92 ms. Don't I have to
>> load
>> it right at startup?
>>
>> These are a couple of examples which take a lot of the time, and for which I
>> don't see a specific trigger that would allow me to defer their load to
>> later.
>>
>> Any comments?
>>
>> Best regards,
>> Seb
>>
>> [1] The above are times on a very recent laptop i7, when on mains. Multiply
>> times by 3.5 when on battery.
>
> Are you using Cygwin? And the X11 binary, or the Ming-W binary?
I'm using
GNU Emacs 24.3.50.1 (i686-pc-mingw32) of 2013-07-07 on LEG570
(compiled W32 binary from DropBox in this case, by Dani Moncayo) -- but I
indifferently use the (older, I mean for Emacs 24.3) binaries as well from the
FSF Web site. So, I never (try to) compile Emacs by myself.
I do have Cygwin installed on my machine.
I don't use Ming-W nor X11.
Best regards,
Seb
--
Sebastien Vauban
Message not available
Message not availableRe: Speeding up Emacs load time, Emanuel Berg, 2013/07/15
Re: Speeding up Emacs load time, Eli Zaretskii, 2013/07/15
Message not availableRe: Speeding up Emacs load time, Emanuel Berg, 2013/07/15
Re: Speeding up Emacs load time, Eli Zaretskii, 2013/07/15