From: Jerome L Quinn <jlquinn@us.ibm.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 15555@debbugs.gnu.org
Subject: bug#15555: 24.3; Bidirectional display very slow with long lines
Date: Tue, 8 Oct 2013 11:39:58 -0400 [thread overview]
Message-ID: <OF2B55B1F5.54EA9C4F-ON85257BFE.0053238D-85257BFE.00560E73@us.ibm.com> (raw)
In-Reply-To: <83wqlo461e.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2829 bytes --]
Eli Zaretskii <eliz@gnu.org> wrote on 10/08/2013 02:42:53 AM:
> From: Eli Zaretskii <eliz@gnu.org>
> To: Jerome L Quinn/Watson/IBM@IBMUS
> Cc: 15555@debbugs.gnu.org
> Date: 10/08/2013 02:43 AM
> Subject: Re: bug#15555: 24.3; Bidirectional display very slow with long
lines
>
> > From: Jerome L Quinn <jlquinn@us.ibm.com>
> > Date: Mon, 7 Oct 2013 16:05:42 -0400
> >
> > If I have a buffer with a very long line (14000 chars) with a mix of
> > ASCII and Arabic text, emacs gets painfully slow when point is further
> > along the line.
>
> Emacs is in general painfully slow with such long lines, even if there
> are only ASCII characters there. Presence of Arabic characters makes
> it slower, but it is unbearably slow even before that. This is a
> known deficiency of the Emacs display engine. This is bug #13675.
Hi Eli,
I'm not sure it is the same bug. When I disable the bidi reordering
variable,
navigation speed becomes reasonable, even with the very long line length.
I'm on a very fast machine, so #13675 may not be impacting me that badly.
When bidi reordering is enabled, it is multiple seconds to move the cursor
up
and down, which is unusable.
> > It looks like there's an N^2 algorithm dependent on the column of
> > point.
>
> No, there are no N² algorithms. However, for many display operations,
> Emacs needs to go to the beginning of the previous _physical_ line,
> and then go forward to the place it needs to redisplay. With very
> long lines, this takes a lot of time.
>
> If your data files don't include empty lines, there's perhaps another
> source of slowdown, which _is_ peculiar to bidirectional display:
> Emacs needs to find the beginning of the current paragraph to
> determine its "base direction". To see if this is your problem, try
> setting bidi-paragraph-direction to either left-to-right or
> right-to-left, depending on whether most of the text should be read
> left to right or right to left.
Setting bidi-paragraph-direction to right-to-left improves the situation
some
but I'd still call it unusable in this situation. Disabling reordering
makes
emacs as responsive as I'd expect, comparable to emacs23.
OK, I played with it a bit more. I think the issue is exacerbated by
splitting
the frame into 2 side-by-side windows.
Try this:
Expand emacs to fill the screen. For me this is 194x65.
Create a new buffer with just the text I included in the bug report.
C-x 3
Put something else in the left window and go the right window.
Page down several times.
The last page down I find takes 5-8 seconds repeatedly.
I don't see as bad behavior when the text is in the left buffer or if I
have only
1 window.
And disabling bidi reordering completely eliminates the bad behavior.
Thanks
Jerry
[-- Attachment #2: Type: text/html, Size: 4266 bytes --]
next prev parent reply other threads:[~2013-10-08 15:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-07 20:05 bug#15555: 24.3; Bidirectional display very slow with long lines Jerome L Quinn
2013-10-08 6:42 ` Eli Zaretskii
2013-10-08 15:39 ` Jerome L Quinn [this message]
2013-10-08 18:07 ` Eli Zaretskii
2013-10-09 12:26 ` Stefan Monnier
2013-10-09 16:59 ` Eli Zaretskii
2013-10-09 18:04 ` Jerome L Quinn
2016-01-26 5:13 ` bug#3219: " Andrew Hyatt
2016-01-26 14:41 ` Eli Zaretskii
2014-02-18 12:43 ` bug#15555: " Dmitry Antipov
2014-02-18 14:01 ` Dmitry Antipov
2014-02-18 16:21 ` Eli Zaretskii
2014-02-18 14:04 ` bug#15555: " Stefan Monnier
2014-02-18 14:31 ` Dmitry Antipov
2014-02-18 16:24 ` Eli Zaretskii
2014-02-18 17:34 ` Dmitry Antipov
2014-02-18 17:47 ` Eli Zaretskii
2014-02-19 17:43 ` Eli Zaretskii
2014-02-20 7:32 ` Dmitry Antipov
2014-02-20 17:45 ` Eli Zaretskii
2014-02-21 5:32 ` Dmitry Antipov
2014-02-18 17:58 ` Eli Zaretskii
2014-02-19 5:48 ` Dmitry Antipov
2014-02-19 17:36 ` Eli Zaretskii
2014-02-20 17:44 ` bug#15555: " Eli Zaretskii
2014-02-18 17:44 ` Eli Zaretskii
2014-02-18 17:42 ` Eli Zaretskii
2014-02-19 10:49 ` bug#15555: " Dmitry Antipov
2014-02-19 17:39 ` Eli Zaretskii
2014-02-20 7:21 ` Dmitry Antipov
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=OF2B55B1F5.54EA9C4F-ON85257BFE.0053238D-85257BFE.00560E73@us.ibm.com \
--to=jlquinn@us.ibm.com \
--cc=15555@debbugs.gnu.org \
--cc=eliz@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.