Subject: bug#30457: 26.0.91; bidi-display-reordering makes navigation around melpa/archive-contents slow

From: Aaron Jensen <[email-masked]>
Date: Wed, 14 Feb 2018 11:22:37 -0800

On Wed, Feb 14, 2018 at 10:40 AM, Eli Zaretskii <[email-masked]> wrote:
> It's a 870K line with multi-level parentheses.  As already mentioned
> there, the BPA implementation that is part of the bidi reordering
> makes this sluggish due to the many parentheses in such a long line.

Yes, it's also a real use-case that I encountered today while trying
to figure out why a package was getting installed (I'm sure there's a
better way to do this... but that's not the point). It's not just line
scrolling, it's most any manipulation/navigation of the buffer. Emacs
has definitely sped up in the last year and I'm quite pleased with
that, but this is still one area that it's rather sluggish.  I do
experience sluggishness in other instances as well with long lines,
but this is the example I have today.

> (However, it's nowhere near 13 sec on my box.

Are you on a mac? It seems we're slower than linux still... Is there a
way to check to see if I was compiled w/ optimizations? I used the
emacs-plus recipe on homebrew.

> And going several lines
> in one go, as in "C-u 20 C-n", makes it even faster.)

Sure, but everything has a latency and these sort of workaround don't
really solve the overall feel problem. It feels like I'm working over
ssh to a server in another country and the difference when bidi is
disabled is incredible.

> Beware: the code which is used when bidi-display-reordering is nil is
> unsupported since Emacs 24, so you are on your own when using it.  I
> urge you to reconsider.

I didn't know this, I'm not sure what it means in practice. Perhaps
I'll turn it back to t for now and just have that in my bag of tricks
if I encounter a file that has this problem.

Thanks,

Aaron