[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Accelerating Emacs?

From: Eli Zaretskii
Subject: Re: Accelerating Emacs?
Date: Fri, 28 Oct 2005 15:13:33 +0200

> From: "Herbert Euler" <address@hidden>
> Date: Fri, 28 Oct 2005 19:31:35 +0800
> >What kind of machine do you have there?  I tried this on a 3MB file
> >(my email inbox), and it took less than 1 minute, even though I needed
> >to answer the question about discarding undo info several times during
> >that time.  This is on a 3GHz Pentium 4 running Windows XP.  I then
> >tried the same with a 19MB email box on a 700MHz Pentium III running
> >Debian GNU/Linux, and it took 13 minutes there (vim did it in 30
> >seconds).  Perhaps you should upgrade your hardware?
> The CPU of this machine is Pentium(R) 4 CPU 2.80 GHz, and there is
> 504 MB physical memory, running Windows XP and Emacs 21.3.

And on this machine, it took Emacs more than 20 minutes to do the
replacement in a 8.8 MB file?  That's amazingly slow, and contradicts
my testing (although I tested on a real file, not one with random

> Task Manager said Emacs were using 229 636K memory

Probably because the program that you used to generate the random file
conses a lot of strings.  Forcing garbage collection could have
returned some of the memory to the OS.

> I found Emacs used more and more memory when generating random
> data, so did when it replacing. These memory is released after Emacs
> finishes its job.

It is also released during garbage collection.

> This happens when I am testing a 100MB size file. I go to the beginning
> of the file, press C-SPACE, then go to the end of the file, press M-w.
> Emacs told me:
> Warning: past 95% of memory limit

Well, M-w causes Emacs to copy the entire 100MB region into the
Windows clipboard.  To do that, Emacs allocates a temporary buffer
copies those 100MB into the buffer, then encodes the text in the
temporary buffer as appropriate for the Windows clipboard.  As your
system has only 512MB of installed physical memory, using up 100MB
could easily exhaust what your machine has.

If you really need to copy/paste such large regions, you should
disable the automatic copying into the clipboard.

> So perhaps I can restate it like this: if Emacs starts to be slow in
> some condition, it is better of using some other tools instead of
> it.

That is always true.  As Per wrote elsewhere in this thread, Sed is
ideally suited for the substitutions that you tried, especially on
very large files.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]