lilypond-user
[Top][All Lists]
Advanced

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

A speed test on Apple's M1 processor


From: Jacques Menu
Subject: A speed test on Apple's M1 processor
Date: Sun, 11 Sep 2022 11:52:52 +0200

Hello folks,

I ran this test with a 7.4Mb, 55 page score, to compare the binaries provided by lilypond.org and the natives ones I (finally) built locally on my 8 Gb RAM Mac Mini. 
The necessary libraries have been installed using both MacPorts and Homebrew, since not all of them are supplied by a single source.

Both versions are 2.23.12.
The speed increase is roughly 20 to 25%, thanks to the avoidance of Intel CPU instructions emulation.

I will send the test file privately to anyone interested with pleasure, and you can send me larger files for more tests.

A nice day!

JM

--

First convert the LilyPond file to version 2.23.12.

Native convert-ly:

jacquesmenu@macmini:/Volumes/JMI_Volume/JMI_Developpement/lilypond/release/binaries/lilypond/install/bin > time ./convert-ly Fischer_Suite_Sol_M_viola_II.ly > Fischer_Suite_Sol_M_viola_II_2.23.12.ly
convert-ly (GNU LilyPond) 2.23.12

convert-ly: Processing `Fischer_Suite_Sol_M_viola_II.ly'... 
Applying conversion: 2.20.0, 2.21.0, 2.21.2, 2.23.1, 2.23.2, 2.23.3, 2.23.4, 2.23.5, 2.23.6, 2.23.7, 2.23.8, 2.23.9, 2.23.10, 2.23.11, 2.23.12


./convert-ly Fischer_Suite_Sol_M_viola_II.ly >   5.80s user 0.04s system 99% cpu 5.871 total
jacquesmenu@macmini:/Volumes/JMI_Volume/JMI_Developpement/lilypond/release/binaries/lilypond/install/bin > time ./convert-ly Fischer_Suite_Sol_M_viola_II.ly > Fischer_Suite_Sol_M_viola_II_2.23.12.ly
convert-ly (GNU LilyPond) 2.23.12

convert-ly: Processing `Fischer_Suite_Sol_M_viola_II.ly'... 
Applying conversion: 2.20.0, 2.21.0, 2.21.2, 2.23.1, 2.23.2, 2.23.3, 2.23.4, 2.23.5, 2.23.6, 2.23.7, 2.23.8, 2.23.9, 2.23.10, 2.23.11, 2.23.12


./convert-ly Fischer_Suite_Sol_M_viola_II.ly >   5.72s user 0.04s system 99% cpu 5.801 total
jacquesmenu@macmini:/Volumes/JMI_Volume/JMI_Developpement/lilypond/release/binaries/lilypond/install/bin > time ./convert-ly Fischer_Suite_Sol_M_viola_II.ly > Fischer_Suite_Sol_M_viola_II_2.23.12.ly
convert-ly (GNU LilyPond) 2.23.12

convert-ly: Processing `Fischer_Suite_Sol_M_viola_II.ly'... 
Applying conversion: 2.20.0, 2.21.0, 2.21.2, 2.23.1, 2.23.2, 2.23.3, 2.23.4, 2.23.5, 2.23.6, 2.23.7, 2.23.8, 2.23.9, 2.23.10, 2.23.11, 2.23.12


./convert-ly Fischer_Suite_Sol_M_viola_II.ly >   5.71s user 0.03s system 99% cpu 5.748 total


LilyPond-supplied convert-ly. Here, there are variations for some reason:

jacquesmenu@macmini:/Applications/JMI_Applications/LilyPond/lilypond-2.23.12/bin > time ./convert-ly Fischer_Suite_Sol_M_viola_II.ly > Fischer_Suite_Sol_M_viola_II_2.23.12.ly

convert-ly (GNU LilyPond) 2.23.12

convert-ly: Processing `Fischer_Suite_Sol_M_viola_II.ly'... 
Applying conversion: 2.20.0, 2.21.0, 2.21.2, 2.23.1, 2.23.2, 2.23.3, 2.23.4, 2.23.5, 2.23.6, 2.23.7, 2.23.8, 2.23.9, 2.23.10, 2.23.11, 2.23.12


./convert-ly Fischer_Suite_Sol_M_viola_II.ly >   7.18s user 0.03s system 99% cpu 7.225 total
jacquesmenu@macmini:/Applications/JMI_Applications/LilyPond/lilypond-2.23.12/bin > time ./convert-ly Fischer_Suite_Sol_M_viola_II.ly > Fischer_Suite_Sol_M_viola_II_2.23.12.ly

convert-ly (GNU LilyPond) 2.23.12

convert-ly: Processing `Fischer_Suite_Sol_M_viola_II.ly'... 
Applying conversion: 2.20.0, 2.21.0, 2.21.2, 2.23.1, 2.23.2, 2.23.3, 2.23.4, 2.23.5, 2.23.6, 2.23.7, 2.23.8, 2.23.9, 2.23.10, 2.23.11, 2.23.12


./convert-ly Fischer_Suite_Sol_M_viola_II.ly >   7.25s user 0.04s system 99% cpu 7.323 total
jacquesmenu@macmini:/Applications/JMI_Applications/LilyPond/lilypond-2.23.12/bin > time ./convert-ly Fischer_Suite_Sol_M_viola_II.ly > Fischer_Suite_Sol_M_viola_II_2.23.12.ly

convert-ly (GNU LilyPond) 2.23.12

convert-ly: Processing `Fischer_Suite_Sol_M_viola_II.ly'... 
Applying conversion: 2.20.0, 2.21.0, 2.21.2, 2.23.1, 2.23.2, 2.23.3, 2.23.4, 2.23.5, 2.23.6, 2.23.7, 2.23.8, 2.23.9, 2.23.10, 2.23.11, 2.23.12


./convert-ly Fischer_Suite_Sol_M_viola_II.ly >   15.13s user 0.05s system 99% cpu 15.203 total



Then apply lilypond to the converted file. ‘… ... ...’ is used for the sake of compactness.

Native lilypond:

jacquesmenu@macmini:/Volumes/JMI_Volume/JMI_Developpement/lilypond/release/binaries/lilypond/install/bin > time ./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly
GNU LilyPond 2.23.12 (running Guile 2.2)
 … 
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 54 or 55 pages...
Drawing systems...
Converting to `Fischer_Suite_Sol_M_viola_II_2.23.12.pdf'...
fatal error: failed files: "Fischer_Suite_Sol_M_viola_II_2.23.12.ly"
./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly  7.52s user 0.75s system 98% cpu 8.387 total


jacquesmenu@macmini:/Volumes/JMI_Volume/JMI_Developpement/lilypond/release/binaries/lilypond/install/bin > time ./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly
GNU LilyPond 2.23.12 (running Guile 2.2)
… … 
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 54 or 55 pages...
Drawing systems...
Converting to `Fischer_Suite_Sol_M_viola_II_2.23.12.pdf'...
fatal error: failed files: "Fischer_Suite_Sol_M_viola_II_2.23.12.ly"
./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly  7.58s user 0.74s system 99% cpu 8.350 total


jacquesmenu@macmini:/Volumes/JMI_Volume/JMI_Developpement/lilypond/release/binaries/lilypond/install/bin > time ./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly
GNU LilyPond 2.23.12 (running Guile 2.2)
… … 
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 54 or 55 pages...
Drawing systems...
Converting to `Fischer_Suite_Sol_M_viola_II_2.23.12.pdf'...
fatal error: failed files: "Fischer_Suite_Sol_M_viola_II_2.23.12.ly"
./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly  7.45s user 0.75s system 100% cpu 8.177 total


LilyPond-supplied lilypond. Here, there are variations:

jacquesmenu@macmini:/Applications/JMI_Applications/LilyPond/lilypond-2.23.12/bin >  time ./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly
GNU LilyPond 2.23.12 (running Guile 2.2)
… … 
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 54 or 55 pages...
Drawing systems...
Converting to `Fischer_Suite_Sol_M_viola_II_2.23.12.pdf'...
fatal error: failed files: "Fischer_Suite_Sol_M_viola_II_2.23.12.ly"
./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly  11.12s user 0.86s system 97% cpu 12.271 total


jacquesmenu@macmini:/Applications/JMI_Applications/LilyPond/lilypond-2.23.12/bin >  time ./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly
GNU LilyPond 2.23.12 (running Guile 2.2)
… … 
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 54 or 55 pages...
Drawing systems...
Converting to `Fischer_Suite_Sol_M_viola_II_2.23.12.pdf'...
fatal error: failed files: "Fischer_Suite_Sol_M_viola_II_2.23.12.ly"
./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly  11.16s user 0.81s system 98% cpu 12.103 total


jacquesmenu@macmini:/Applications/JMI_Applications/LilyPond/lilypond-2.23.12/bin >  time ./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly
GNU LilyPond 2.23.12 (running Guile 2.2)
… … 
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 54 or 55 pages...
Drawing systems...
Converting to `Fischer_Suite_Sol_M_viola_II_2.23.12.pdf'...
fatal error: failed files: "Fischer_Suite_Sol_M_viola_II_2.23.12.ly"
./lilypond Fischer_Suite_Sol_M_viola_II_2.23.12.ly  11.21s user 0.80s system 98% cpu 12.153 total

--



reply via email to

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