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

From: Stefan Monnier <[email-masked]>
Date: Tue, 02 Feb 2021 23:50:41 -0500

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

        Stefan