all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: ynyaaa@gmail.com
Cc: 26051@debbugs.gnu.org
Subject: bug#26051: 25.1; overlays may make emacs very slow
Date: Sat, 11 Mar 2017 08:59:31 +0200	[thread overview]
Message-ID: <83h930e1t8.fsf@gnu.org> (raw)
In-Reply-To: <874lz0o31j.fsf@gmail.com> (ynyaaa@gmail.com)

> From: ynyaaa@gmail.com
> Cc: 26051@debbugs.gnu.org
> Date: Sat, 11 Mar 2017 13:22:48 +0900
> 
> I don't know what characters are neutral.

(I should have said "neutral or weak", sorry.)

You can find out this property of a character like this:

  M-: (get-char-code-property CHAR 'bidi-class) RET

where CHAR is the character in question, e.g. ?@ for your first
example below.  You can find more information about bidirectional
character types here:

  http://unicode.org/reports/tr9/#Bidirectional_Character_Types

Any value except L or R from the above expression means the character
doesn't have a strong directionality, which requires the display
engine to look for directional context needed for correct rendering of
the text.  And since your buffer also has no empty lines, looking for
the beginning of a paragraph is also very time consuming.  Lots of
overlays just make this preposterously slow rather than merely
sluggish, because the built-in fallbacks are tuned for the "normal"
use cases, where the number of overlays is much lower.

> The form above take a few seconds.
> I tried some characters instead of 'a'. Each of them take long time.
>   "@%d\n"
>   "?%d\n"
>   "\u00E1%d\n" ;; LATIN SMALL LETTER A WITH ACUTE
>   "\u3042%d\n" ;; HIRAGANA LETTER A
>   "\u4E00%d\n" ;; CJK IDEOGRAPH-4E00
>   "\uFF41%d\n" ;; FULLWIDTH LATIN SMALL LETTER A

What I see here, with all of the above except the first two, is that
what takes a long time is for the code to run; once I see "Done" in
the echo area, redisplay takes less than a second.

That is in contrast to the original example, and the first 2 above,
where "Done" is seen very quickly, and redisplay takes a very long
time.





  reply	other threads:[~2017-03-11  6:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-10 16:25 bug#26051: 25.1; overlays may make emacs very slow ynyaaa
2017-03-10 17:02 ` Eli Zaretskii
2017-03-11  4:22 ` ynyaaa
2017-03-11  6:59   ` Eli Zaretskii [this message]
2017-03-12  1:44     ` ynyaaa
2017-03-12 15:47       ` Eli Zaretskii
2017-03-13 11:18         ` ynyaaa
2017-03-13 11:29           ` Andreas Politz
2017-03-13 15:54             ` Eli Zaretskii

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=83h930e1t8.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=26051@debbugs.gnu.org \
    --cc=ynyaaa@gmail.com \
    /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.