Subject: bug#41194: 28.0.50; [feature/native-comp] fibn benchmark exhausts memory

From: Andrea Corallo <[email-masked]>
Date: Sun, 14 Jun 2020 16:19:06 +0000

Kévin Le Gouguec <[email-masked]> writes:

> Andrea Corallo <[email-masked]> writes:
>
>> 5a55a845a7 * Implement 'maybe_gc_or_quit' to allow correct GC in compiled Lisp
>> 34ed9d2498 * Introduce latches
>>
>> are fixing here this issue, now running fibn at speed 2 the memory
>> consuptions stays constant.
>
> Alright, feedback time!
>
> Commits:
> - master: 82a632edc8b80bf16d9b9f205474bf9724b084c0
> - feature/native-comp: 5a55a845a7c426e82e8a6a6d02bc4a39992871e3
>
>
> The Good News
> =============
>
> - I can compile the branch without adding files to the default
>   blacklist,
>
> - compilation (-j1) now only takes less than 6 hours instead of 3 days
>   (compared with 1.5 hour on master),
>
> - at no point during compilation did the system swap; in fact, I could
>   probably have risked a -j2 build,
>
> - elisp-benchmarks doesn't show any obvious performance regression
>   (… though see Bad News).
>
> For details on memory usage during compilation, see attached memory
> profile (to compare with bug#41077#28).

Hi Kévin,

this is very good new thanks!  If I read correctly we are always under
about 600MB as memory consumption is this correct?

>
> Few files take more than 3 minutes to compile now:
>
> ELC+ELN emacs-lisp/comp.el      0:09:49
> ELC+ELN org/org.el              0:03:39
> ELC+ELN ../lisp/window.el       0:03:16
> ELC+ELN emacs-lisp/bytecomp.el  0:03:16
>
> For details on performance, see attached tables for master and
> feature/native-comp, respectively (to compare with bug#41077#40).
>
>
>
>
> The Bad News
> ============
>
> - fibn still exhausts memory,
> - now pidigits does too.
>
>
>
>
> I've only tried the default comp-speed (2) so far.  I've attached the
> results of M-x disassemble on the functions in fibn.el and pidigits.el.

I suspect we are still looking at a speed 3 run.  How comp-speed was set
for the test?

I ask that because for now speed 3 is written into the stone within
elisp-benchmarks.el, yeah... :/ and so has to be manually changed there.

Thanks!

  Andrea

-- 
[email-masked]