emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Max Nikulin <manikulin@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: profiling latency in large org-mode buffers (under both main & org-fold feature)
Date: Fri, 25 Feb 2022 19:38:09 +0700	[thread overview]
Message-ID: <svaiji$prt$1@ciao.gmane.io> (raw)
In-Reply-To: <87r17to817.fsf@localhost>

On 23/02/2022 23:35, Ihor Radchenko wrote:
> Max Nikulin writes:
> 
>>> +;; the same purpose.  Overlays are implemented with O(n) complexity in
>>> +;; Emacs (as for 2021-03-11).  It means that any attempt to move
>>> +;; through hidden text in a file with many invisible overlays will
>>> +;; require time scaling with the number of folded regions (the problem
>>> +;; Overlays note of the manual warns about).  For curious, historical
>>> +;; reasons why overlays are not efficient can be found in
>>> +;; https://www.jwz.org/doc/lemacs.html.
>>
>> The linked document consists of a lot of messages. Could you, please,
>> provide more specific location within the rather long page?
> 
> There is no specific location. That thread is an old drama unfolded when
> intervals were first implemented by a third-party company (they were called
> intervals that time). AFAIU, the fact that intervals are stored in a
> list and suffer from O(N) complexity originates from that time. Just
> history, as I pointed in the comment.

Thank you, Ihor. I am still not motivated enough to read whole page but 
searching for "interval" (earlier I tried "overlay") resulted in the 
following message:

Message-ID: 		<9206230917.AA16758@mole.gnu.ai.mit.edu>
Date: 	Tue, 23 Jun 92 05:17:33 -0400
From: 	rms@gnu.ai.mit.edu (Richard Stallman)

describing tree balancing problem in GNU Emacs and linear search in lucid.

Unfortunately there is no "id" or "name" anchors in the file suitable to 
specify precise location. Even the link href is broken.

Actually I suspect that markers may have a similar problem during regexp 
searches. I am curious if it is possible to invoke a kind of "vacuum" 
(in SQL parlance). Folding all headings and resetting refile cache does 
not restore performance to the initial state at session startup. Maybe 
it is effect of incremental searches.

Sorry, I have not tried patches for text properties instead of overlays.



  reply	other threads:[~2022-02-25 12:58 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-21 21:06 profiling latency in large org-mode buffers (under both main & org-fold feature) Matt Price
2022-02-21 22:22 ` Samuel Wales
2022-02-22  5:33   ` Ihor Radchenko
2022-02-22  5:44     ` Kaushal Modi
     [not found]       ` <CAN_Dec8kW5hQoa0xr7sszafYJJNmGipX0DA94DKNh11DWjce8g@mail.gmail.com>
2022-02-23  2:41         ` Matt Price
2022-02-23  5:22           ` Ihor Radchenko
2022-02-23 14:47             ` Matt Price
2022-02-23 15:10               ` Ihor Radchenko
2022-02-22 21:11     ` Rudolf Adamkovič
2022-02-23 12:37       ` Org mode profiling meetup on Sat, Feb 26 (was: profiling latency in large org-mode buffers (under both main & org-fold feature)) Ihor Radchenko
2022-02-23 16:43         ` Kaushal Modi
2022-02-25 14:30         ` Ihor Radchenko
2022-02-26 12:04           ` Ihor Radchenko
2022-02-26 12:51             ` Ihor Radchenko
2022-02-26 15:51               ` Quiliro Ordóñez
2022-03-23 10:57                 ` #2 Org mode profiling meetup on Sat, Mar 26 (was: Org mode profiling meetup on Sat, Feb 26 (was: profiling latency in large org-mode buffers (under both main & org-fold feature))) Ihor Radchenko
2022-03-24 11:17                   ` Ihor Radchenko
2022-03-24 11:27                   ` Bruce D'Arcus
2022-03-24 13:43                     ` Matt Price
2022-03-24 13:49                     ` Ihor Radchenko
2022-03-26 11:59                   ` Ihor Radchenko
2022-03-27  8:14                     ` Ihor Radchenko
2022-04-21  8:05                   ` #3 Org mode profiling meetup on Sat, Apr 23 (was: #2 Org mode profiling meetup on Sat, Mar 26) Ihor Radchenko
2022-04-23 12:08                     ` Ihor Radchenko
2022-04-24  4:27                       ` Ihor Radchenko
2022-02-27  7:41               ` Org mode profiling meetup on Sat, Feb 26 (was: profiling latency in large org-mode buffers (under both main & org-fold feature)) Ihor Radchenko
2022-02-23 16:03     ` profiling latency in large org-mode buffers (under both main & org-fold feature) Max Nikulin
2022-02-23 16:35       ` Ihor Radchenko
2022-02-25 12:38         ` Max Nikulin [this message]
2022-02-26  7:45           ` Ihor Radchenko
2022-02-26 12:45             ` Max Nikulin
2022-02-27  6:43               ` Ihor Radchenko
2022-03-02 12:23                 ` Max Nikulin
2022-03-02 15:12                   ` Ihor Radchenko
2022-03-03 14:56                     ` Max Nikulin
2022-03-19  8:49                       ` Ihor Radchenko
2022-02-26 15:07     ` Jean Louis
2022-02-23  2:39   ` Matt Price
2022-02-23  5:25     ` Ihor Radchenko
2022-02-22  5:30 ` Ihor Radchenko

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='svaiji$prt$1@ciao.gmane.io' \
    --to=manikulin@gmail.com \
    --cc=emacs-orgmode@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 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).