Max Nikulin <maniku...@gmail.com> writes: > 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.aa16...@mole.gnu.ai.mit.edu> > Date: Tue, 23 Jun 92 05:17:33 -0400 > From: r...@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.
I think we have a misunderstanding here. That page does not contain much of technical details. Rather a history. AFAIU, initially Emacs wanted to implement balanced tree structure to store overlays, but the effort stalled for a long time. Then, a company rolled out a simple list storage causing a lot of contradiction related to FSF and a mojor Emacs fork. At the end, the initial effort using balanced tree on GNU Emacs side did not go anywhere and GNU Emacs eventually copied a simple list approach that is backfiring now, when Org buffers actually do contain a large numbers of overlays. > 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. I doubt that markers have anything to do with regexp search itself (directly). They should only come into play when editing text in buffer, where their performance is also O(N_markers). Best, Ihor