From: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: Q on performance with 10000 faces
Date: Mon, 22 May 2006 08:59:13 -0400 [thread overview]
Message-ID: <jwvmzdamehf.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <DNEMKBNJBGPAOPIJOOICCEHKDGAA.drew.adams@oracle.com> (Drew Adams's message of "Sun, 21 May 2006 23:26:00 -0700")
>> Does this mean that Emacs cannot reasonably be expected to
>> display 10000 face text-properties?
> AFAIK, yes. Doing what you did (a) disables all possible display
> optimizations that the redisplay engine has up its sleeve to speed up
> the common cases,
Indeed, changes in the face property take time. I wouldn't say that what
he describes disables any particular optimization, but it makes
them ineffective.
> and (b) forces Emacs to traverse the 10000 text
> properties for each character it is about to display.
I don't see why the redisplay would have to traverse 10000 text properties
for each char it is about to display. After all, there are 10000 chars each
with a different face property, but each one only has one text property (or
maybe a couple, but not 10000).
> Don't do what? Use that many faces or something else also?
It could be either don't use that many face-changes, or don't use that
many faces. I suspect that the number of faces is what bogs you down which
is why it also slows down redisplay of other windows. But I'm very
non-knowledgeable about the redisplay code.
> It's because even cursor motion, that usually takes a fast shortcut
> through the redisplay code, requires to search all the text properties
> in your situation.
I don't see why that'd be the case.
> I'm a little surprised that a frame that is not selected and has no current
> activity (no cursor motion etc.), would continue to slow Emacs down just by
> being displayed on the computer screen (and listening for input).
Agreed. I think there is a missing redisplay optimization here (and
I suspect that I sometimes suffer from a related missing optimization when
I have 100 frames open).
Stefan
next prev parent reply other threads:[~2006-05-22 12:59 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-22 0:02 Q on performance with 10000 faces Drew Adams
2006-05-22 3:41 ` Eli Zaretskii
2006-05-22 6:26 ` Drew Adams
2006-05-22 6:42 ` Miles Bader
2006-05-22 13:39 ` Drew Adams
2006-05-22 8:15 ` Kim F. Storm
2006-05-22 13:47 ` Drew Adams
2006-05-22 12:59 ` Stefan Monnier [this message]
2006-05-22 13:49 ` Drew Adams
2006-05-22 18:45 ` Eli Zaretskii
2006-05-22 18:44 ` Eli Zaretskii
2006-06-02 15:04 ` Drew Adams
2006-06-03 1:43 ` Drew Adams
2006-06-04 22:39 ` Kim F. Storm
2006-06-05 0:29 ` Drew Adams
2006-06-05 21:35 ` Kim F. Storm
2006-06-06 6:53 ` Drew Adams
2006-05-22 18:41 ` Eli Zaretskii
2006-05-22 20:59 ` Drew Adams
2006-05-22 22:30 ` Drew Adams
2006-05-22 23:28 ` Kevin Rodgers
2006-05-23 0:41 ` Drew Adams
2006-05-23 0:43 ` Luc Teirlinck
2006-05-23 1:25 ` Drew Adams
2006-05-25 16:21 ` Drew Adams
2006-05-23 11:08 ` Stefan Monnier
2006-05-23 14:07 ` Drew Adams
2006-05-23 23:48 ` Luc Teirlinck
2006-05-24 0:02 ` Drew Adams
2006-05-23 19:00 ` Eli Zaretskii
2006-05-23 21:06 ` Stefan Monnier
2006-05-24 5:50 ` Richard Stallman
2006-05-24 12:02 ` Stefan Monnier
2006-05-25 0:36 ` Richard Stallman
2006-05-25 3:22 ` Eli Zaretskii
2006-05-25 16:31 ` Richard Stallman
2006-05-22 15:12 ` Richard Stallman
2006-05-22 15:18 ` Drew Adams
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvmzdamehf.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=emacs-devel@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.