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

From: Dave Abrahams <[email-masked]>
Date: Thu, 15 Sep 2011 22:22:45 -0400

on Sun Sep 11 2011, Dave Abrahams <dave-AT-boostpro.com> wrote:

> on Sun Sep 11 2011, Eli Zaretskii <eliz-AT-gnu.org> wrote:
>
>>> From: Lars Magne Ingebrigtsen <[email-masked]>
>>
>>> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
>>> Date: Sun, 11 Sep 2011 16:52:56 +0200
>>> 
>>> Emacs does clever screen updates, though.  So if the only thing that
>>> changes is the number before the percentage, Emacs won't repaint the
>>> entire line, I think?
>>
>> True.  Like I said, redisplay of the echo area is very fast.
>
> I don't think it's clever enough.  Try this:
> (let (timings)
>   (dolist (reps '(1 10))
>     (let ((start-time (current-time)))
>       (loop for x to 10000 do
>             (loop repeat reps do
>                   (message "message #%s" x)))
>       (push (time-subtract (current-time) start-time) timings)))
>   (message "%s" (mapcar 'time-to-seconds timings)))
> I get (29.539774 2.514761)
>
> I think this shows that it takes (more than) 10x as long to write out
> the same message 10 times as it does to write it out once.

<bump> 

The above looks to me like conclusive evidence that writing out the same
percentage many times as part of a progress indication, rather than,
say, updating progress information once per second, will slow things
down a lot... and that's not a Gnus-specific problem.  *I* think this is
important, anyway.

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