emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MPS: weak hash tables


From: Gerd Möllmann
Subject: Re: MPS: weak hash tables
Date: Sat, 06 Jul 2024 05:38:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Helmut Eller <eller.helmut@gmail.com> writes:

> On Fri, Jul 05 2024, Pip Cet wrote:
>
>> Feature/bug-wise, what's still missing?
>
> ert-tests.el worries me the most.  There, MPS looks pretty bad compared
> to the old GC.  (Who would have thought that printing backtraces
> involves copying and rebalancing interval trees with thousands of nodes?
> And why does it perform so poorly with a generational GC?)

Hm, sounds almost like a bug to me. The bug being the copying. Why does
it do that, do you know?

> It would be nice to have a way to set a "memory limit".  Preferably with
> some "out of memory error".  Even aborting would be better than starting
> to swap.

There is

  MPS_KEY_COMMIT_LIMIT (type size_t) is the maximum amount of main memory,
  in bytes (1), that the MPS will obtain from the operating system. See
  mps_arena_commit_limit() for details. The default commit limit is the
  maximum value of the size_t type.

Never tried that. There are also functions to read/set the limit, so
maybe we could introduce a DEFVAR with variable watcher for playing with
it, or a function.

> I also think that something needs to be done about the pidigits
> benchmark.  It's not about the bignums (which I couldn't care less
> about) but the problem that finalization messages are only processed
> when Emacs is idle.

Hm, so this one didn't help.

  void
  garbage_collect (void)
  {
  #ifdef HAVE_MPS
    igc_process_messages ();
  #endif

Looks like it needs to be put somewhere else.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]