lilypond-devel
[Top][All Lists]
Advanced

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

Re: LilyPond 2.23.6 released


From: Jean Abou Samra
Subject: Re: LilyPond 2.23.6 released
Date: Sat, 19 Feb 2022 20:12:14 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

Le 19/02/2022 à 16:41, Thomas Scharkowski a écrit :
One more test:
I installed both versions on a 2013 iMac intel Core i5.

24,3“ MacPorts version
51,4“ gitab version


OK, bear with me. Can you please take the following steps
and report results? It is really important for us to identify
what is causing this slowdown.

First, does it look like one step of the compilation in particular
is slow (for example, it takes time during "Preprocessing graphical
objects"), or do all steps take more time? Pro tip: run lilypond with
--verbose to have a more fine-grained view of the process.

Second, edit the file lily.scm (should be under
/path/to/lilypond-2.23.6/share/lilypond/2.23.6/scm/lily)
to apply the following diff:


@@ -844,8 +844,11 @@ PIDs or the number of the process."

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

+(use-modules (statprof))
+
 (define-public (lilypond-main files)
   "Entry point for LilyPond."
+  (statprof (lambda ()
   (eval-string (ly:command-line-code))
   (if (ly:get-option 'help)
       (begin (ly:option-usage)
@@ -927,7 +930,7 @@ PIDs or the number of the process."
                (ly:exit 1 #f))
         (begin
           (ly:exit 0 #f)))))
-
+))
 (define-public (session-start-record)
   (for-each (lambda (v)
            ;; import all public session variables natively into parser



Namely, add "(use-modules (statprof))" before the definition of
lilypond-main, "(statprof (lambda ()" after the line "Entry point
for LilyPond", and "))" after the function. This makes LilyPond
run under a profiling tool and report output at the end of the
compilation. Now run once with GUILE_AUTO_COMPILE=1, to recompile
lily.scm. The second run will be clean (all files byte-compiled);
can you report the big list of timings that is printed at the end?

Thanks in advance,
Jean




reply via email to

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