help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Strange shell mode performance


From: Robert Thorpe
Subject: Re: Strange shell mode performance
Date: Wed, 21 Oct 2020 02:27:23 +0100

I suspect that this is about memory allocation.

I've noticed strange things like this before with large shell buffers.
I don't think that pressing enter is really what makes the difference.

I expect it's the memory that Emacs has allocated.  When you have a
small shell buffer you're usually reusing memory that has already been
allocated to Emacs.  That's because Emacs is constantly allocating and
deallocating memory within it's own memory management.  AFAIK it never
actually gives memory back to the OS (modern OSes don't really need that 
anyway).

However, when the size of the shell buffer rises above the largest size
that the Emacs process have ever been things change.  Then new memory
has to be allocated to Emacs.

I may be wrong about this though, it was ages since I looked at the
code.

BR,
Robert Thorpe

Herman, Géza <geza.herman@gmail.com> writes:

> Hi all,
>
> I'm experiencing strange shell (comint) mode performance. If I cat a 10 
> MB file, it takes 1:20 to cat it. Emacs uses only 30% cpu. But, if I 
> press enter after I send the cat command, it speeds up, and it only 
> takes 8 sec (emacs cpu usage goes up to 100%).
>
> Same thing: if I execute "seq 100000" in a small emacs window, it takes 
> ~3 seconds. But, if I press enter after executing seq, it takes only 0.4 
> sec (this is not 100% reproducible, sometimes pressing enter doesn't 
> make a difference).
> (I executed comint-clear-buffer before measurements)
>
> It happens with 26.3 and ~3-week-old master branch as well, without any 
> extra config (emacs -Q).
>
> Any ideas what causes this? Would it be possible to always have the 
> better performance without needing to press enter?
>
> Thanks,
> Geza



reply via email to

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