Subject: Re: bug#45200: [PATCH] Force Glibc to free the memory freed

From: Konstantin Kharlamov <[email-masked]>
Date: Wed, 03 Feb 2021 09:04:21 +0300

On Tue, 2021-02-02 at 23:50 -0500, Stefan Monnier wrote:
> > >     with malloc_trim:
> > >         (8.920371394 232 2.106283245)
> > >         (9.038083601 231 2.060810826)
> > >         (9.140798641 231 2.0594013240000004)
> > > 
> > >     without malloc_trim:
> > >         (8.987097209 232 2.070143482)
> > >         (8.700478084 231 1.7745506179999997)
> > >         (8.781121056 231 1.7870093610000004)
> > > 
> > > The difference is just 3-4% (8.7 / 9 ≈ 0.9666666667). It looks to me
> > > insignificant enough to not show up anywhere during interactive work
> > > with Emacs.
> > 
> > It's indeed not too costly, but what about the upside?
> 
> BTW, maybe a better way forward than trying to convince us that it's
> a good default (which could be hard if the upside is a reduction of the
> memory use by a few percent: for many people it might be less
> relevant/noticeable than the corresponding few percents lost in speed)
> is to provide a patch that adds a new *ELisp* function that calls
> `malloc_trim`, which you can then add to `post-gc-hook` in your init
> file when your usage pattern makes it useful.

Upside indeed is the memory reduction.

Well, I didn't send the patches for my only benefit, but for benefit of others people. The new ELisp function is something that not too many people would benefit from, and I mean, including those who disable GC. That is because it would be an opt-in feature, which you need to know about to enable it, and not many will ever find out about it.

For my-only benefit I could just continue building Emacs with my patch applied locally, as I do now.