GNU bug report logs -
#41194
28.0.50; [feature/native-comp] fibn benchmark exhausts memory
Previous Next
Reported by: Kévin Le Gouguec <kevin.legouguec <at> gmail.com>
Date: Mon, 11 May 2020 20:49:01 UTC
Severity: normal
Found in version 28.0.50
Done: Kévin Le Gouguec <kevin.legouguec <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
As detailed in bug#41077, I compiled the feature/native-comp branch[1]
on a low-end-ish laptop[2], blacklisting char-fold.el since native
compilation took too much memory for this file.
As reported there, I get appreciable speedups on the benchmarks
distributed in the elisp-benchmarks ELPA package, except for one
specific test: fibn. When native-compiled (with any value of
comp-speed), this test makes Emacs abort with the message:
> Memory exhausted--use C-x s then exit and restart Emacs
I've plotted some graphs showing fibn's memory consumption for every
value of comp-speed, as well as for emacs master[3] (where all 3
iterations run to completion):
[fibn.pdf (application/pdf, attachment)]
[Message part 3 (text/plain, inline)]
See [4] for the methodology, source material and logs. Out of curiosity
I've disassembled the compiled functions in fibn.el for comp-speed 2;
I'm not fluent enough in assembly to spot anything obviously wrong[5].
Let me know if there are things you would like me to try out in order to
investigate this.
[1] Commit 92cf4bb8cc3da81f4877a734b9e9089ac4b89e85.
[2] Samsung NC10, 2GB RAM, 2GB HDD swap, on Debian Buster.
[3] Commit 9d8fc3a598090da518fcdd5c0503ed0f7faa41a9.
[4] .eln files compiled with:
(dotimes (i 4) (rename-file (let ((comp-speed i)) (native-compile "fibn.el"))
(format "fibn-%d.eln" i)))
Script used to collect measurements on branch native-comp:
[repro.sh (application/x-shellscript, attachment)]
[Message part 5 (text/plain, inline)]
Script used to collect measurements on branch master:
[master.sh (application/x-shellscript, attachment)]
[Message part 7 (text/plain, inline)]
Script used to plot the graphs:
[plot.py (text/x-python, attachment)]
[Message part 9 (text/plain, inline)]
Measurements:
[measurements.tgz (application/x-compressed-tar, attachment)]
[Message part 11 (text/plain, inline)]
Logs for native-comp:
[repro.log (text/x-log, attachment)]
[Message part 13 (text/plain, inline)]
Logs for master:
[master.log (text/x-log, attachment)]
[Message part 15 (text/plain, inline)]
[5]
[elb-fibn.s (text/x-asm, attachment)]
[elb-fibn-entry.s (text/x-asm, attachment)]
This bug report was last modified 4 years and 363 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.