[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Org mode and Emacs
From: |
Stefan Monnier |
Subject: |
Re: Org mode and Emacs |
Date: |
Thu, 16 Jun 2022 12:59:40 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Ihor Radchenko [2022-06-16 20:58:07] wrote:
> Mattias EngdegÄrd <mattiase@acm.org> writes:
>>> I limited
>>> gc-cons-threshold in doc/misc/Makefile.in to 50,000,000, not
>>> most-positive-fixnum.
>>
>> Some timings for the export to .texi (old machine, optimised build, bytecode
>> only):
>>
>> | gc-cons-threshold | time |
>> |----------------------+------|
>> | 800000 | 14.1 | (default value)
>> | 25000000 | 6.2 |
>> | 50000000 | 5.7 |
>> | 100000000 | 5.7 |
>> | most-positive-fixnum | 5.1 |
>>
>> thus Eli's choice is very good, and we really should do something about that
>> GC of ours.
>
> I am wondering if there is a "universal" value suitable for one-off Emacs
> batch invocations.
I doubt that's the case, but of course we should try and use values that
work "overall best" on average. Maybe we should revisit the current
knobs and their default values.
Currently the two important knobs we have are:
gc-cons-threshold
gc-cons-percentage
Maybe it's time for some benchmarks with various values for these knobs
to see if the values we're using now are "good enough" or might need to
be changed.
We could also try and be bit more discerning. E.g. currently when the
program is in a phase where it builds a lot of new data-structures, we
run the GC everytime some amount of new memory has been allocated, but
presumably almost none of those objects have died yet (we're still
building the overall datastructure) so the GC will be a pure waste of
time. OTOH in other phases the code allocates objects which are used
only temporarily, in which case it's beneficial to run the GC somewhat
frequently to avoid growing our heap unnecessarily (and suffering
fragmentation as a result).
It's hard to know beforehand whether a GC will be useful or not, tho.
But maybe we can find good heuristics. E.g. have something like
a `gc-cons-percentage` which depends on how much garbage we collected in
the last GC: if a GC doesn't collect any garbage (or very little of it),
it's a sign that we're in a phase where running the GC is not very
useful so we should wait a bit more until the next GC, whereas if the GC
collected a fair bit of garbage, it's a sign that we're in a phase where
running the GC is beneficial and we can run it a bit more often.
Stefan
- Re: Org mode and Emacs, (continued)
- Re: Org mode and Emacs, David Engster, 2022/06/15
- Re: Org mode and Emacs, Ihor Radchenko, 2022/06/16
- Re: Org mode and Emacs, David Engster, 2022/06/16
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Eli Zaretskii, 2022/06/15
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Ihor Radchenko, 2022/06/16
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Eli Zaretskii, 2022/06/16
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Mattias EngdegÄrd, 2022/06/16
- Re: Org mode and Emacs (was: Convert README.org to plain text README while installing package), Ihor Radchenko, 2022/06/16
- Re: Org mode and Emacs,
Stefan Monnier <=
- Larger GC thresholds for non-interactive Emacs (was: Org mode and Emacs), Ihor Radchenko, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Ihor Radchenko, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/18
- Re: Larger GC thresholds for non-interactive Emacs, Stefan Monnier, 2022/06/17
- Re: Larger GC thresholds for non-interactive Emacs, Lars Ingebrigtsen, 2022/06/17