[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Org element cache in indirect buffers
From: |
Ihor Radchenko |
Subject: |
Re: Org element cache in indirect buffers |
Date: |
Sun, 11 Jun 2023 12:51:29 +0000 |
Sebastian Wålinder <s.walinder@gmail.com> writes:
> It appears that indirect buffers duplicate the entire org element cache from
> the base buffer whenever created.
Not exactly. Only link to the cache root is copied and some cache
elements may not be garbage-collected.
> Running `memory-report` indicates that each indirect buffer has the same
> memory blueprint.
> This becomes a massive issue with large org files.
>
> My in my 160 000 line org file, the org element cache takes 100 mb, and so
> each new indirect buffer consumes an additional 100 mbs of memory.
This has to be a bug in `memory-report'. Most of the cache elements will
be referenced by link and thus there should be double-counting going on
somewhere.
> I also wonder if this means the caching is performed by each indirect buffer
> independently, and doesn't carry over.
Caching is using base buffer actually.
I guess we can explicitly set reference to the cache root to nil in
indirect buffers.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>