From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: pjb@informatimago.com (Pascal J. Bourguignon) Newsgroups: gmane.emacs.help Subject: Re: How to Reduce Emacs Load Time Date: Sun, 31 Aug 2008 00:00:52 +0200 Organization: Informatimago Message-ID: <87r686rwmj.fsf@hubble.informatimago.com> References: <18aba2b0-4fc7-4588-b69f-d9f46b264b03@q26g2000prq.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1220132548 21821 80.91.229.12 (30 Aug 2008 21:42:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 30 Aug 2008 21:42:28 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Aug 30 23:43:23 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KZYDB-0005DL-K2 for geh-help-gnu-emacs@m.gmane.org; Sat, 30 Aug 2008 23:42:25 +0200 Original-Received: from localhost ([127.0.0.1]:38205 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KZYCC-0002PV-Qo for geh-help-gnu-emacs@m.gmane.org; Sat, 30 Aug 2008 17:41:24 -0400 Original-Path: news.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!newsfeed.straub-nv.de!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!cleanfeed4-a.proxad.net!nnrp6-1.free.fr!not-for-mail Original-Newsgroups: gnu.emacs.help Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en X-Disabled: X-No-Archive: no User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.2 (gnu/linux) Cancel-Lock: sha1:6BYthYSBoGVBwxweFEMYg5bWXnE= Original-Lines: 38 Original-NNTP-Posting-Date: 30 Aug 2008 23:27:46 MEST Original-NNTP-Posting-Host: 88.182.134.169 Original-X-Trace: 1220131666 news-3.free.fr 12006 88.182.134.169:32945 Original-X-Complaints-To: abuse@proxad.net Original-Xref: news.stanford.edu gnu.emacs.help:161785 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:57127 Archived-At: formido writes: > Hello there, > > Emacs takes like 10 seconds to load. It's a lot faster if I don't load > all my packages. What strategies could I use to get my load time down? > Emacs itself is made up of tons of elisp files and it doesn't take > forever to load, so I don't see why I should be forced to endure long > load times just because I add third party packages. If I do, 'require > package', I'm at the mercy of the package maker's initialization > process, right? Right. - compile ~/.emacs ; this is not a good idea, because the gain is minimal, and you have to remember compiling it everytime you update ~/.emacs. - don't load what you don't need. Remove cruft from your ~/.emacs. - don't load what you need, yet. This means, instead of loading or requiring the packages you may need, define autoloading functions. Good packages will do that for you, when you require them, they load only a file which defines autoloading functions, so you spend time loading the package only when you try to run these functions. - load everything, in advance. And save a new emacs image, then boot that emacs image instead of the empty standard one. It's not as easy to do in emacs than in Common Lisp implementations, but it's possible. -- __Pascal Bourguignon__ http://www.informatimago.com/ You're always typing. Well, let's see you ignore my sitting on your hands.