Subject: bug#8890: 23.3; message writing slows emacs

From: Dave Abrahams <[email-masked]>
Date: Sun, 11 Sep 2011 06:45:39 -0400

on Sun Sep 11 2011, Eli Zaretskii <eliz-AT-gnu.org> wrote:

>> From: Dave Abrahams <[email-masked]>
>
>> Date: Sun, 11 Sep 2011 02:54:34 -0400
>> Cc: [email-masked]
>> 
>> I mean to buffer the message until it has been stable for some
>> amount of time.
>
> I don't understand the details of the feature you are requesting.
> Suppose `message' is being repeatedly called by some Lisp program in
> quick succession -- what would you like to be actually displayed? only
> the text of final message?  If so, why is that a good idea?  Most
> "good" uses of fast echoing display very similar messages, like
> "Updating... NN% done", where only the number changes.  

OK, good point.  But actually it's those that set the message once for
each percentage (or even more often) that cause me the most (perceived)
slowdown.  If you're just updating percentage complete, please don't do
it more than once every .5 seconds... at the fastest!

> It would be a pity to lose this checkpointing feature, IMO.  So you
> will probably say that there should be a variable to be bound to
> select one behavior or the other.  

No need to argue against that; I wasn't going to suggest it.

> Your original report says:
>
>   I haven't done actual timings, but I'm finding that I have a *very*
>   strong perception that when emacs is writing lots of messages, it
>   slows down considerably.
>
> Redisplay always slows down, but on any modern machine displaying only
> the echo area should take a few milliseconds at the most, so I'd be
> surprised if some real slowdown was involved.  

Don't forget that messages also fill up the *Messages* buffer.

> If you can show some timings, please do, as there could be a bug or
> misfeature somewhere.

I probably don't have time to do it, sadly.  So you will probably say
there should be a variable bound to give me more time... wait, I mean
you'll probably say that's a cop-out.  Guilty as charged.

> Anyway, can you describe the situation in which you see these flashing
> messages?  The only one I can think of is when Emacs starts up and
> restores a previous session.  Is that your use case, or did you see
> this in other situations?

Yeah, there's something in Gnus, perhaps article expiry, that seems slow
mostly because gnus-verbose defaults to 7 and it writes out gobs of
messages.  When I turned gnus-verbose down it seemed a lot faster.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com