lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile 2 vs. Guile 3


From: Eric Benson
Subject: Re: Guile 2 vs. Guile 3
Date: Sat, 26 Nov 2022 14:43:37 -0800

I compiled it myself, using Xcode's cc (Apple clang version 14.0.0). Got a
ton of warnings, mostly of the form "implicit conversion changes
signedness". These seem like the sort of thing that might not be too hard
to fix. It's a worthwhile goal to eliminate compiler warnings from as many
of the build environments as possible. I used Homebrew to install various
needed packages. I also installed it "over the top" of the 2.23.81 Guile 2
binary distribution, although I deleted all of the bits of Guile 2,
including the bytecode cache.

After running "make bytecode" and "make install-bytecode", the elapsed time
for running my script went from 17 minutes down to about 6 minutes. Still
slightly slower than Guile 2, but more in the neighborhood where some
optimizations might easily bring it into parity. Also, I didn't try to run
a controlled benchmark, so this is really just a rough guess on
performance. Process creation and destruction has to be a sizable part of
the overhead, too. This performance differential is significant enough that
"make bytecode" should probably just be part of "make all" and "make
install-bytecode" should be included in "make install".


On Sat, Nov 26, 2022 at 2:10 PM Jonas Hahnfeld <hahnjo@hahnjo.de> wrote:
>
> On Sat, 2022-11-26 at 13:36 -0800, Eric Benson wrote:
> > In anticipation of the impending release of 2.24, I recently ported my
> > Lilypond files from 2.22 to 2.23.81. I have about 100 lead sheets with
> > lyrics, parameterized so that I can easily create them in different keys
> > and in treble clef or bass clef. There are all in the range of 1 to 2
pages
> > when typeset. I have a script that generates them in four different
keys,
> > so that's roughly 400 invocations of lilypond.
> >
> > I know that Lilypond 2.24 binary distributions will be built with Guile
2,
> > not Guile 3, but I thought you might like to know that I was able to
build
> > 2.23.81 from source with Guile 3, run my script, and I got what appears
to
> > be the exact same result as I had with the Guile 2 binary distribution.
> > This was on a Mac Studio with Apple CPU running MacOS Ventura 13.0.1.
I'm
> > not sure if the Guile 3 JIT is enabled in this build, or if it even
works
> > currently on Apple silicon. At any rate, lilypond with Guile 3 on this
> > system works, although it was considerably slower than Guile 2 in my
build.
> > My script takes about 5 minutes elapsed time on 2.23.81 with Guile 2,
and
> > it took about 17 minutes with Guile 3.
>
> Thanks for measuring this! May I ask how you installed LilyPond? If you
> compiled it yourself, did you run "make bytecode" and "make install-
> bytecode" as advertised here:
>
http://lilypond.org/doc/v2.23/Documentation/changes/index.html#notes-for-source-compilation-and-packagers
>
> Jonas


reply via email to

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