unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Gregor Zattler <telegraph@gmx.net>
To: Eli Zaretskii <eliz@gnu.org>, Ihor Radchenko <yantar92@posteo.net>
Cc: spacibba@aol.com, arne_bab@web.de, emacs-devel@gnu.org
Subject: Re: Indentation and gc
Date: Sat, 11 Mar 2023 18:10:33 +0100	[thread overview]
Message-ID: <87jzzn9pti.fsf@no.lan> (raw)
In-Reply-To: <834jqrwbgu.fsf@gnu.org>

Hi Eli, emacs developers,
* Eli Zaretskii <eliz@gnu.org> [2023-03-11; 17:32 +02]:
>> From: Ihor Radchenko <yantar92@posteo.net>
>> Cc: spacibba@aol.com, arne_bab@web.de, emacs-devel@gnu.org
>> Date: Sat, 11 Mar 2023 14:31:18 +0000

>> Given that modern computer typically have 4-16Gb RAM, the warning does
>> not look like an actual warning. 800kb is nothing. Surely, increasing it
>> to 80Mb to even few hundreds Mb is safe, right? Or not?
>
> Again, you are reasoning about the value as if it were related to the
> maximum memory footprint Emacs could have.  But in fact, it is related
> only to the _increment_ of memory Emacs can have before it should stop
> and consider how much of that is garbage.

But isn't that the very reason, why Ihors gc-cons-threshold
calculation in mid:878rg3wh2f.fsf@localhost is on the
save side memory wise?  Because it's a fraction of emacs
overall memory consumption anyway but scaled regarding
the total amount of memory?

To me the problem with big gc-cons-threshold even on systems
which are even bigger on RAM is that the (rare) garbage
collection the takes much more time and an uneducated
user might think Emacs hangs.

I played a lot recently witch gc-cons-threshold settings due
to Emacs being too sluggish with my old ones.  Now I:

- set gc-cons-threshold very high at the beginning of
  startup  (* 4096 40960)
- set it lower at the end of startup
  (/ (* 4096 4096) 1)
  - use gcmh with this value
- set it very high when entering the mini-buffer and
  lower again when exiting it
- force a gc when frame loses focs

The result is that with emacs-uptime being 7 hours, 21
minutes (and plenty of time away from the computer) I
have 103 messages regarding Garbage collection with
accompanied times for them in my message buffer.

Some statistics:

Minimal number	0.000	seconds
Maximal number	2.603	seconds
Sum	65.896	seconds
Average	0.63976699029126213592	seconds
Median	0.612	seconds
Variance	0.06970711075501932322
Standard deviation	0.26402104225803541665

Actually 0.6 seconds are already rather long I think.
But it's much better than before (on a ca. 9 years old
x240 with 8GB RAM)

Therefore I think some auto-adjustment of
gc-cons-threshold would be nice, which would try to
optimize for low number of garbage collection and short
times of actual gc runs.

Ciao; Gregor



  parent reply	other threads:[~2023-03-11 17:10 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230310110747.4hytasakomvdyf7i.ref@Ergus>
2023-03-10 11:07 ` Indentation and gc Ergus
2023-03-10 14:36   ` Dr. Arne Babenhauserheide
2023-03-10 14:54     ` Eli Zaretskii
2023-03-10 19:23       ` Dr. Arne Babenhauserheide
2023-03-11  6:38         ` Eli Zaretskii
2023-03-11  6:55           ` Dr. Arne Babenhauserheide
2023-03-11  7:56             ` Eli Zaretskii
2023-03-11 12:34               ` Dr. Arne Babenhauserheide
2023-03-11 13:08                 ` Eli Zaretskii
2023-03-11 13:31                   ` Ihor Radchenko
2023-03-11 13:44                     ` Eli Zaretskii
2023-03-11 13:53                       ` Ihor Radchenko
2023-03-11 14:09                         ` Eli Zaretskii
2023-03-12 14:20                           ` Ihor Radchenko
2023-03-12 14:40                             ` Eli Zaretskii
2023-03-12 15:04                               ` Ihor Radchenko
2023-03-12 15:26                                 ` Eli Zaretskii
2023-03-13 15:09                                   ` Ihor Radchenko
2023-03-13 15:37                                     ` Eli Zaretskii
2023-03-13 15:45                                       ` Ihor Radchenko
2023-03-13 16:58                                         ` Eli Zaretskii
2023-03-13 18:04                                           ` Ihor Radchenko
2023-03-14 12:19                                             ` Eli Zaretskii
2023-03-15 10:28                                               ` Ihor Radchenko
2023-03-15 12:54                                                 ` Eli Zaretskii
2023-03-15 12:59                                                   ` Ihor Radchenko
2023-03-15 14:20                                                     ` Eli Zaretskii
2023-03-16 10:27                                                       ` Ihor Radchenko
2023-04-06  9:13                                                         ` Ihor Radchenko
2023-04-08  8:04                                                           ` Eli Zaretskii
2023-04-08  8:15                                                             ` Ihor Radchenko
2023-04-08 10:03                                                               ` Eli Zaretskii
2023-04-14 17:07                                                                 ` Ihor Radchenko
2023-04-14 17:56                                                                   ` Eli Zaretskii
2023-03-13 18:14                                         ` Gregor Zattler
2023-03-14 12:30                                           ` Eli Zaretskii
2023-03-14 15:19                                             ` Gregor Zattler
2023-03-11 16:19                     ` Dr. Arne Babenhauserheide
2023-03-12 13:27                       ` Ihor Radchenko
2023-03-12 14:10                         ` Eli Zaretskii
2023-03-12 14:50                           ` Ihor Radchenko
2023-03-12 15:13                             ` Eli Zaretskii
2023-03-12 17:15                               ` Gregor Zattler
2023-03-12 20:07                                 ` Eli Zaretskii
2023-03-13 15:01                               ` Ihor Radchenko
2023-03-13 15:33                                 ` Eli Zaretskii
2023-03-13 15:39                                   ` Ihor Radchenko
2023-03-13 15:39                                     ` Eli Zaretskii
2023-03-13 16:04                                       ` Ihor Radchenko
2023-03-13 16:52                                         ` Eli Zaretskii
2023-03-14 12:47                                           ` Ihor Radchenko
2023-03-14 13:09                                             ` Eli Zaretskii
2023-03-15 10:29                                               ` Ihor Radchenko
2023-03-13 15:41                                 ` Eli Zaretskii
2023-03-14 13:01                                   ` Ihor Radchenko
2023-03-11 10:54       ` Ihor Radchenko
2023-03-11 11:17         ` Ergus
2023-03-11 11:23           ` Ihor Radchenko
2023-03-11 12:31           ` Eli Zaretskii
2023-03-11 12:39             ` Ihor Radchenko
2023-03-11 12:40               ` Eli Zaretskii
2023-03-11 12:54                 ` Ihor Radchenko
2023-03-11 13:01                   ` Dr. Arne Babenhauserheide
2023-03-11 13:14                   ` Eli Zaretskii
2023-03-11 13:38                     ` Ihor Radchenko
2023-03-11 13:46                       ` Eli Zaretskii
2023-03-11 13:54                         ` Ihor Radchenko
2023-03-11 14:11                           ` Eli Zaretskii
2023-03-11 14:18                             ` Ihor Radchenko
2023-03-11 14:20                               ` Eli Zaretskii
2023-03-11 14:31                                 ` Ihor Radchenko
2023-03-11 15:32                                   ` Eli Zaretskii
2023-03-11 15:52                                     ` Lynn Winebarger
2023-03-11 16:24                                       ` Eli Zaretskii
2023-03-11 17:10                                     ` Gregor Zattler [this message]
2023-03-11 17:25                                       ` Eli Zaretskii
2023-03-11 18:35                                         ` Gregor Zattler
2023-03-11 18:49                                           ` Eli Zaretskii
2023-03-13 12:45                                     ` Ihor Radchenko
2023-03-13 12:51                                       ` Eli Zaretskii
2023-06-14 14:16                                         ` Ihor Radchenko
2023-06-14 15:36                                           ` Eli Zaretskii
2023-06-14 15:58                                             ` Ihor Radchenko
2023-06-14 16:07                                               ` Eli Zaretskii
2023-06-16 10:00                                                 ` Ihor Radchenko
2023-06-16 10:33                                                   ` Eli Zaretskii
2023-06-16 11:03                                                     ` Ihor Radchenko
2023-06-16 11:34                                                       ` Eli Zaretskii
2023-06-21 10:37                                                         ` Ihor Radchenko
2023-06-21 11:11                                                           ` Eli Zaretskii
2023-03-11 13:00                 ` Po Lu
2023-03-11 12:37         ` Eli Zaretskii
2023-03-11 13:10           ` Ihor Radchenko
2023-03-11 13:38             ` Eli Zaretskii
2023-03-10 14:52   ` Eli Zaretskii
2023-03-10 21:30     ` Ergus
2023-03-11  6:52       ` Eli Zaretskii
2023-03-21  7:11   ` Jean Louis
2023-03-21  7:27     ` Emanuel Berg

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.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87jzzn9pti.fsf@no.lan \
    --to=telegraph@gmx.net \
    --cc=arne_bab@web.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=spacibba@aol.com \
    --cc=yantar92@posteo.net \
    /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.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).