unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Spencer Baugh <sbaugh@catern.com>
Cc: emacs-devel@gnu.org
Subject: Re: Eager garbage collection
Date: Wed, 18 Nov 2020 20:00:15 +0200	[thread overview]
Message-ID: <83ima2pmts.fsf@gnu.org> (raw)
In-Reply-To: <20201118002050.16426-1-sbaugh@catern.com> (message from Spencer Baugh on Tue, 17 Nov 2020 19:20:47 -0500)

> From: Spencer Baugh <sbaugh@catern.com>
> Date: Tue, 17 Nov 2020 19:20:47 -0500
> 
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
> >The time to do a GC doesn't depend on the amount of garbage so much as
> >the size of the heap, but I think I like your idea.  Better yet: keep
> >track of the time that each GC takes and use that as a guide for the
> >idle-time delay.
> 
> OK, I added an exponential-moving-average to track the time that GC
> uses, and use it as the idle-time delay, with the idea that if we
> reach idle time X, the naive best estimate of the total idle time is
> 2*X. See following patches.

I'm trying to understand whether we should enable this by default or
not.  The decision should depend on the overall effect of this
feature, and on whether it has any downsides.  IME, changes in GC
details frequently have unintended consequences.  Can you present some
evidence of the effect of using the feature, either measurements or
even anecdotal evidence?

More generally, perhaps we need some tools to measure the effect of
this (e.g., how many GC's happened during some rime interval, how much
time each GC took, how large is the VM size of Emacs, etc.  Then we
could ask people to present numbers with and without the feature, and
make the decision based on that.

Thanks.



  parent reply	other threads:[~2020-11-18 18:00 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Message-ID: <jwv1rgtjhhy.fsf-monnier+emacs@gnu.org>
2020-11-18  0:20 ` Eager garbage collection Spencer Baugh
2020-11-18  0:20   ` [PATCH 1/3] Add gc-estimated-time variable Spencer Baugh
2020-11-18 17:45     ` Eli Zaretskii
2020-11-18  0:20   ` [PATCH 2/3] Add garbage-collect-maybe function Spencer Baugh
2020-11-18 17:49     ` Eli Zaretskii
2020-11-18  0:20   ` [PATCH 3/3] Start opportunistic GC timer at startup Spencer Baugh
2020-11-18 17:54     ` Eli Zaretskii
2020-11-18  3:45   ` Eager garbage collection Stefan Monnier
2020-11-18  4:05     ` Spencer Baugh
2020-11-18  4:48       ` Stefan Monnier
2020-11-18  8:02   ` Andrea Corallo via Emacs development discussions.
2020-11-18 15:06     ` Eli Zaretskii
2020-11-18 15:30       ` Andrea Corallo via Emacs development discussions.
2020-11-18 17:19         ` Eli Zaretskii
2020-11-18 17:26           ` Andrea Corallo via Emacs development discussions.
2020-11-18 18:07             ` Eli Zaretskii
2020-11-18 18:19               ` Andrea Corallo via Emacs development discussions.
2020-11-18 15:19     ` Spencer Baugh
2020-11-18 15:47       ` Andrea Corallo via Emacs development discussions.
2020-11-18 16:52         ` Stefan Monnier
2020-11-18 17:12           ` Andrea Corallo via Emacs development discussions.
2020-11-18 17:34           ` Eli Zaretskii
2020-11-18 18:00   ` Eli Zaretskii [this message]
2020-11-22  5:07     ` Spencer Baugh
2020-11-22  5:08       ` [PATCH v2 1/3] Add gc-estimated-time variable Spencer Baugh
2020-11-22 18:10         ` Eli Zaretskii
2020-11-22 19:48           ` Stefan Monnier
2020-11-22  5:08       ` [PATCH v2 2/3] Add garbage-collect-maybe function Spencer Baugh
2020-11-22 18:14         ` Eli Zaretskii
2020-11-22  5:08       ` [PATCH v2 3/3] Start opportunistic GC timer at startup Spencer Baugh
2020-12-04 23:19         ` Stefan Monnier
2020-12-05  7:52           ` Eli Zaretskii
2020-12-05 13:55             ` Stefan Monnier
2020-12-05 14:24               ` Eli Zaretskii
2020-12-05 14:41                 ` Stefan Monnier
2020-11-22 15:13       ` Eager garbage collection Eli Zaretskii
2020-11-16  4:11 sbaugh
2020-11-16 15:07 ` Stefan Monnier
2020-11-16 16:34   ` Eli Zaretskii
2020-11-16 18:37     ` Stefan Monnier
2020-11-18 18:00     ` yyoncho
2020-11-18 18:16       ` Eli Zaretskii
2020-11-18 21:37         ` Stefan Monnier
2020-11-18 21:59           ` Stefan Monnier

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=83ima2pmts.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=sbaugh@catern.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).