[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Blockers for Guile 2.2
From: |
Jean Abou Samra |
Subject: |
Re: Blockers for Guile 2.2 |
Date: |
Sat, 26 Feb 2022 14:47:56 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
Le 26/02/2022 à 13:51, Han-Wen Nienhuys a écrit :
The Scheme compilation felt much slower, and for C++ ccache takes away
a lot of the pain of recompiles. It also appears to be
single-threaded? I admit not having timed it in detail.
OK, I have very good news regarding compilation speed.
Tests are done with
rm -rf out/share/lilypond/current/guile/ && time out/bin/lilypond
(I have GUILE_AUTO_COMPILE=1 in my environment.)
* master and Guile 2
real 0m58,877s
user 0m58,773s
sys 0m0,124s
Execution time on MSDM.ly:
real 0m18,870s
user 0m18,727s
sys 0m0,470s
* Guile 2, with attached patch disabling all optimizations:
real 0m16,791s
user 0m16,700s
sys 0m0,056s
Execution time on MSDM.ly:
real 0m18,702s
user 0m18,517s
sys 0m0,509s
* Guile 3, with fixes from
https://gitlab.com/lilypond/lilypond/-/merge_requests/1230
real 1m25,302s
user 1m27,644s
sys 0m1,543s
Execution time on MSDM.ly:
real 0m19,533s
user 0m19,268s
sys 0m0,549s
* Guile 3, with https://gitlab.com/lilypond/lilypond/-/merge_requests/1230
plus second attached patch disabling optimizations:
real 0m3,538s
user 0m3,510s
sys 0m0,108s
(!!)
Execution time on MSDM.ly:
real 0m19,571s
user 0m19,387s
sys 0m0,573s
For one thing, Guile's optimization make about zero difference for the
speed of the resulting LilyPond executable. For another, disabling
optimizations in Guile 2 already results in a good speedup (1min
to 20s), and while Guile 3 is even slower than Guile 2 at the default
optimization level (1m30), with optimizations disabled it becomes
near instant (3.5s).
Guile 3 being far better at compilation speed with zero optimizations
apparently comes from what is described in
http://wingolog.org/archives/2020/06/03/a-baseline-compiler-for-guile
On the other hand, it does look like Guile 3 is a little slower
than Guile 2 on execution time (5%).
What do you think?
Jean
0001-Disable-optimizations-Guile-2.patch
Description: Text Data
0001-Guile-3-set-optimization-level-to-0.patch
Description: Text Data
- Re: Blockers for Guile 2.2, (continued)
- Re: Blockers for Guile 2.2, Jonas Hahnfeld, 2022/02/24
- Re: Blockers for Guile 2.2, David Kastrup, 2022/02/24
- Re: Blockers for Guile 2.2, Jean Abou Samra, 2022/02/24
- Re: Blockers for Guile 2.2, Han-Wen Nienhuys, 2022/02/26
- Re: Blockers for Guile 2.2, Jonas Hahnfeld, 2022/02/26
- Re: Blockers for Guile 2.2, Han-Wen Nienhuys, 2022/02/26
- Re: Blockers for Guile 2.2, Jean Abou Samra, 2022/02/26
- Re: Blockers for Guile 2.2, Han-Wen Nienhuys, 2022/02/27
- Re: Blockers for Guile 2.2, Jonas Hahnfeld, 2022/02/27
- Re: Blockers for Guile 2.2, Han-Wen Nienhuys, 2022/02/27
- Re: Blockers for Guile 2.2,
Jean Abou Samra <=
- Re: Blockers for Guile 2.2, David Kastrup, 2022/02/26
- Re: Blockers for Guile 2.2, Jean Abou Samra, 2022/02/26
- Re: Blockers for Guile 2.2, Luca Fascione, 2022/02/27
- Re: Blockers for Guile 2.2, Han-Wen Nienhuys, 2022/02/27
- Re: Blockers for Guile 2.2, Luca Fascione, 2022/02/27
- Re: Blockers for Guile 2.2, Jonas Hahnfeld, 2022/02/26
- Re: Blockers for Guile 2.2, Luca Fascione, 2022/02/26
- Re: Blockers for Guile 2.2, Jean Abou Samra, 2022/02/24
- Re: Blockers for Guile 2.2, Jonas Hahnfeld, 2022/02/25
- Re: Blockers for Guile 2.2, Jean Abou Samra, 2022/02/25