unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "Dr. Arne Babenhauserheide" <arne_bab@web.de>,
	spacibba@aol.com, emacs-devel@gnu.org
Subject: Re: Indentation and gc
Date: Sat, 11 Mar 2023 13:31:04 +0000	[thread overview]
Message-ID: <878rg3wh2f.fsf@localhost> (raw)
In-Reply-To: <83ilf7wi48.fsf@gnu.org>

Eli Zaretskii <eliz@gnu.org> writes:

>> With the main risk being that we could go OOM, could Emacs evaluate the
>> available memory on the system on systems that support that check?
>
> It can, but what would you want to do with that value?
>
> We cannot use it as the threshold, for the reasons I explained
> earlier.  We could use some fraction of it, but what fraction?  The
> answer depends on what other programs routinely run on that system.
> For example, if the user is likely to run another full-fledged session
> of Emacs (some people actually do that, e.g., to run Gnus in a
> separate process), then using 1/2 of the amount of VM as the threshold
> is out of the question, right?  And there are memory-hogging programs
> out there which use much more than Emacs does.

What is the smallest practical free RAM available to Emacs on low-end systems?
We can take that value and then use 800kb/min free RAM in the wild and
the base threshold. On system with larger RAM the threshold will scale.

As a speculation, let's assume that the minimal sane memory we can
encounter is 128Mb. Then, 800kb correspond to ~0.7% RAM.

For systems with a lot of RAM, Say 128Gb, 0.7% corresponds to 890Mb.
Probably a bit much and will cause memory fragmentation

What about the default being:

(pcase (* (car (memory-info)) ; in kb
	  1000)
  (`nil 800000) ; 800kb, old default
  (ram
   (let ((scaled-threshold
	  (* 0.7e-2 ; 800kb/128Mb for low-end systems.
	     ram)))
     (min
      (* 100 1000 1000) ; upper limit to avoid fragmentation
      scaled-threshold))))

-- 
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>



  reply	other threads:[~2023-03-11 13:31 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 [this message]
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
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=878rg3wh2f.fsf@localhost \
    --to=yantar92@posteo.net \
    --cc=arne_bab@web.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=spacibba@aol.com \
    /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).