From: Dave Abrahams <dave@boostpro.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 8890@debbugs.gnu.org
Subject: bug#8890: 23.3; message writing slows emacs
Date: Fri, 16 Sep 2011 11:11:56 -0400 [thread overview]
Message-ID: <m2hb4co72b.fsf@pluto.luannocracy.com> (raw)
In-Reply-To: <jwvbouktvxx.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Fri, 16 Sep 2011 10:20:05 -0400")
on Fri Sep 16 2011, Stefan Monnier <monnier-AT-iro.umontreal.ca> wrote:
>>> "A few milliseconds" sounds negligible, but if it's done at every
>
>>> iteration of a loop whose body takes less than a millisecond to run
>>> (we can do a lot of work in a millisecond on today's machines), then
>>> it's a major slowdown.
>> Then programmers who run those loops should update the progress less
>> aggressively. Redisplay (and infrastructure in general) lack the
>> context that would allow them to make good decisions as to when defer
>> repeated display. Only the calling application can know that.
>
> Indeed. The main problem with changing `message' is that if it is
> called too soon after the previous `message' we can't easily say "don't
> display this one" since there may not be any subsequent message coming,
> so we'd have to stash the last undisplayed message and then try and
> figure out good places/times to cause them to be displayed.
Well, the `obvious' good place/time is at next idle if no further
messages have come along to stomp on the previous one.
> So the general approach to fixing those problems is to say "use
> progress-reporter-update" since this function has the advantage of
> knowing that there will be a `progress-reporter-done' at some later
> point, which allows it to skip a message without worries.
Hm. So there *is* a builtin functionality for this... well, that's
good. Sorry if I've wasted everyone's time on this.
--
Dave Abrahams
BoostPro Computing
http://www.boostpro.com
next prev parent reply other threads:[~2011-09-16 15:11 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-18 16:45 bug#8890: 23.3; message writing slows emacs Dave Abrahams
2011-09-11 4:32 ` Lars Magne Ingebrigtsen
2011-09-11 6:54 ` Dave Abrahams
2011-09-11 8:55 ` Eli Zaretskii
2011-09-11 10:45 ` Dave Abrahams
2011-09-11 11:20 ` Eli Zaretskii
2011-09-11 11:30 ` Dave Abrahams
2011-09-11 14:52 ` Lars Magne Ingebrigtsen
2011-09-11 15:58 ` Eli Zaretskii
2011-09-11 16:39 ` Dave Abrahams
2011-09-16 2:22 ` Dave Abrahams
2011-09-16 8:54 ` Eli Zaretskii
2011-09-11 14:51 ` Lars Magne Ingebrigtsen
2011-09-16 13:18 ` Stefan Monnier
2011-09-16 13:45 ` Eli Zaretskii
2011-09-16 14:20 ` Stefan Monnier
2011-09-16 15:11 ` Dave Abrahams [this message]
2011-09-17 5:19 ` Lars Magne Ingebrigtsen
2011-09-17 6:23 ` Dave Abrahams
2011-09-17 8:25 ` Eli Zaretskii
2011-09-17 8:29 ` Lars Magne Ingebrigtsen
2011-09-17 9:24 ` Eli Zaretskii
2011-09-17 12:01 ` Juri Linkov
2011-09-17 21:06 ` Stefan Monnier
2011-09-18 6:50 ` Lars Magne Ingebrigtsen
2011-09-18 13:16 ` Stefan Monnier
2011-09-21 19:01 ` Lars Magne Ingebrigtsen
2022-04-26 13:20 ` Lars Ingebrigtsen
2011-09-16 15:09 ` Dave Abrahams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2hb4co72b.fsf@pluto.luannocracy.com \
--to=dave@boostpro.com \
--cc=8890@debbugs.gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).