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

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

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:

--8<---------------cut here---------------start------------->8---
(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)))
--8<---------------cut here---------------end--------------->8---

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.

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