lilypond-devel
[Top][All Lists]
Advanced

[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

Attachment: 0001-Disable-optimizations-Guile-2.patch
Description: Text Data

Attachment: 0001-Guile-3-set-optimization-level-to-0.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]