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: Sun, 27 Nov 2022 17:27:19 -0800

          The time to initialize LilyPond is roughly 0.1s, so 40s of the
          5 minutes time are spent just initializing LilyPond 400 times.
          Consider passing all the files to 'lilypond' in a single
invocation,
          which should be faster.

Yes, I considered doing that. It would not be a big change to my script.
The time it takes to process all the files at once is not a great concern,
however. I only ran it this time because of the changes I made for 2.24.
Ordinarily, I only process one file at a time, after making changes. In any
case, I'm assuming there would still be 400 invocations of ghostscript.

          A patch was recently posted on the Guile mailing list to add JIT
          support on Apple Silicon [1] so I don't think it works currently.

When Apple JIT support is released in Guile, perhaps I will try modifying
my script so that I can measure the resulting improvement. Since Lilypond
releases with Guile 3 probably won't be coming until next year, it doesn't
seem urgent.

By the way, thanks to all of you for keeping Lilypond going. It's the
perfect music typesetting software for me, having wasted my youth by
becoming an expert in Lisp in the 1980's.

On Sun, Nov 27, 2022 at 3:48 PM Jean Abou Samra <jean@abou-samra.fr> wrote:

> Le 26/11/2022 à 22:36, Eric Benson a écrit :
>
> 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.
>
>
>
>
> The time to initialize LilyPond is roughly 0.1s, so 40s of the
> 5 minutes time are spent just initializing LilyPond 400 times.
> Consider passing all the files to 'lilypond' in a single invocation,
> which should be faster.
>
>
> 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.
>
>
>
>
> A patch was recently posted on the Guile mailing list to add JIT
> support on Apple Silicon [1] so I don't think it works currently.
>
>
> https://lists.gnu.org/archive/html/guile-devel/2022-11/msg00021.html
>
> Maybe you will see it failing if you set GUILE_JIT_THRESHOLD=0
> in the environment?
>
> Best,
> Jean
>
>


reply via email to

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