From: Eli Zaretskii <eliz@gnu.org>
To: Ihor Radchenko <yantar92@gmail.com>
Cc: 35453@debbugs.gnu.org
Subject: bug#35453: 26.1; Poor performance of vertical-motion in large org buffer
Date: Sun, 05 May 2019 18:58:52 +0300 [thread overview]
Message-ID: <834l68lwoz.fsf__3866.53696639172$1557072152$gmane$org@gnu.org> (raw)
In-Reply-To: <87k1f5ww0l.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me> (message from Ihor Radchenko on Sun, 05 May 2019 09:05:46 +0800)
> From: Ihor Radchenko <yantar92@gmail.com>
> Cc: 35453@debbugs.gnu.org
> Date: Sun, 05 May 2019 09:05:46 +0800
>
> > Of course, if someone comes up with ideas how to speed up
> > vertical-motion without changing what Org does with overlays and/or
> > how overlays are implemented, such ideas will be most welcome.
>
> Rather dumb idea.
> Currently, vertical-motion just loops over all the intervals in the
> buffer. What if we optimise next-single-char-property-change and use it
> in vertical-motion? Say, the interval data structure can extended. In
> addition to the currently available pointers to next and previous
> intervals, each (or just 'invisible') property of the interval might
> also contain a pointer to next/previous interval with different property
> value. Then, by increasing the structure size a bit, we can
> significantly speed up the buffer motion commands.
There are no intervals in this story. The way overlays are
implemented, they don't use intervals (if by that you mean the
facilities in intervals.c). Someone was working on making overlays
more efficient by changing the low-level implementation details, but
that work is yet unfinished.
next prev parent reply other threads:[~2019-05-05 16:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87pnpaob79.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me>
[not found] ` <83zhoatavq.fsf@gnu.org>
2019-05-05 1:05 ` bug#35453: 26.1; Poor performance of vertical-motion in large org buffer Ihor Radchenko
[not found] ` <87k1f5ww0l.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me>
2019-05-05 15:58 ` Eli Zaretskii [this message]
[not found] ` <834l68lwoz.fsf@gnu.org>
2019-05-18 10:36 ` Ihor Radchenko
[not found] ` <87mujk6ocq.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me>
2022-10-29 9:02 ` Ihor Radchenko
2022-10-29 10:42 ` Eli Zaretskii
2022-10-29 13:31 ` Stefan Kangas
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.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='834l68lwoz.fsf__3866.53696639172$1557072152$gmane$org@gnu.org' \
--to=eliz@gnu.org \
--cc=35453@debbugs.gnu.org \
--cc=yantar92@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 public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.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).