lilypond-user
[Top][All Lists]
Advanced

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

Long compilation times


From: Cameron Horsburgh
Subject: Long compilation times
Date: Sun, 11 Jan 2009 23:46:23 +1100
User-agent: Mutt/1.5.18 (2008-05-17)

Hi folks,

I'm wondering if a few people could run the file (below) and give me
an idea of how long it runs. It's a 94 bar score that only has spacer
notes, rehearsal marks and modified bar lines in each staff. (The
intention is to use this as a worksheet for the paper-n-pencil phase
of a piece I'm working on).

The problem I'm having is that it takes a very long time to process
what seems to be a fairly straight forward score:

,----
| address@hidden:~/temp$ time lilypond --verbose score.ly
| 
| [snip lilypond output]
| 
| real    13m16.835s
| user    10m52.536s
| sys     0m2.241s
`----

The output seems to take its time in the 'Preprocessing graphical
objects...' line. More specifically, most of the compilation time is
spent on this particular line, copied part way during a run:

Grob count 
19046[/usr/local/share/lilypond/2.12.2/fonts/otf/emmentaler-11.otf][/usr/local/share/lilypond/2.12.2/fonts/otf/emmentaler-13.otf][/usr/local/share/lilypond/2.12.2/fonts/otf/emmentaler-14.otf][century_schoolbook_l_1.994140625][century_schoolbook_l_3.1650390625][century_schoolbook_l_bold_3.98828125][century_schoolbook_l_2.51171875]

I'm running lilypond as pulled and built from git (master) yesterday,
although I've had similar trouble with GUB binaries for quite some
time.

I'm running a 2.4 GHz P4 with 1.25 Gig of Ram. The machine is aging,
but it should be up to this challenge. I've noticed scores compile
much quicker on much lower specced machines, so I'm suspecting
something peculiar to my installation, but I don't know where to look.

Does anybody have any idea what could be wrong? Or is it normal to
take 13 minutes to process a score with virtually no music?

Anyway, here's the file in question:


%%%%%%%%%%%   Begin score

\version "2.12.2"
#(set-global-staff-size 13)
#(ly:set-option 'point-and-click #t)

\header {
  title = "A Nice Piece of Music"
}

global = {
  \key c \major
  \time 4/4
  \repeat unfold 3 {s1}
  
  \mark \markup{\box A} \bar "||"
  \repeat unfold 8 {s1}
  
  \mark \markup{\box B} \bar "||"
  \repeat unfold 10 {s1}
  
  \mark \markup{\box C} \bar "||"
  \repeat unfold 12 {s1}
  
  \mark \markup{\box D} \bar "||"
  \repeat unfold 8 {s1}
  
  \mark \markup{\box E} \bar "||"
  \repeat unfold 10 {s1}
  
  \mark \markup{\box F} \bar "||"
  \repeat unfold 18 {s1}
  
  \mark \markup{\box G} \bar "||"
  \repeat unfold 5 {s1}
  
  \mark \markup{\box H} \bar "||"
  \repeat unfold 20 {s1}
  \bar "|."
}

\score {
  <<
    \new StaffGroup
    <<
      \context Staff = FluteOne {
        \set Staff.instrumentName = \markup { "Flute 1" }
        \set Staff.shortInstrumentName = \markup { "Fl. 1" }
        \set Staff.midiInstrument = "flute"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }
      \context Staff = FluteTwo {
        \set Staff.instrumentName = \markup { "Flute 2" }
        \set Staff.shortInstrumentName = \markup { "Fl. 2" }
        \set Staff.midiInstrument = "flute"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }

      \context Staff = ClarinetOne {
        \set Staff.instrumentName = \markup { "Clarinet 1" }
        \set Staff.shortInstrumentName = \markup { "Cl. 1" }
        \set Staff.midiInstrument = "clarinet"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }
      \context Staff = ClarinetTwo {
        \set Staff.instrumentName = \markup { "Clarinet 2" }
        \set Staff.shortInstrumentName = \markup { "Cl. 2" }
        \set Staff.midiInstrument = "clarinet"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }
      \context Staff = AltoSax {
        \set Staff.instrumentName = \markup { "Alto Sax." }
        \set Staff.shortInstrumentName = \markup { "Al. Sax." }
        \set Staff.midiInstrument = "saxophone"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }

      \context Staff = TenorSax {
        \set Staff.instrumentName = \markup { "Tenor Sax." }
        \set Staff.shortInstrumentName = \markup { "Tn. Sax." }
        \set Staff.midiInstrument = "saxophone"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }
    >>

    \new StaffGroup
    <<
      \context Staff = Trumpet {
        \set Staff.instrumentName = \markup { "Trumpet" }
        \set Staff.shortInstrumentName = \markup { "Trump." }
        \set Staff.midiInstrument = "trumpet"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }

      \context Staff = CornetOne {
        \set Staff.instrumentName = \markup { "Cornet 1" }
        \set Staff.shortInstrumentName = \markup { "Corn. 1" }
        \set Staff.midiInstrument = "trumpet"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }

      \context Staff = CornetTwo {
        \set Staff.instrumentName = \markup { "Cornet 2" }
        \set Staff.shortInstrumentName = \markup { "Corn. 2" }
        \set Staff.midiInstrument = "trumpet"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }
    >>

    \new StaffGroup
    <<
      \context Staff = Flugel {
        \set Staff.instrumentName = \markup { "Flugel" }
        \set Staff.shortInstrumentName = \markup { "Flgl" }
        \set Staff.midiInstrument = "french horn"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }

      \context Staff = TenorHorn {
        \set Staff.instrumentName = \markup { "Tenor Horn" }
        \set Staff.shortInstrumentName = \markup { "Tn. Hn" }
        \set Staff.midiInstrument = "french horn"
        \transpose c c {
          \relative c {
            \global
          }
        }
      }
    >>
    \new StaffGroup
    <<
      \context Staff = TromboneOne {
        \set Staff.instrumentName = \markup { "Trombone 1" }
        \set Staff.shortInstrumentName = \markup { "Trom. 1" }
        \set Staff.midiInstrument = "trombone"
        \transpose c c {
          \relative c {
            \clef bass
            \global
          }
        }
      }
      \context Staff = TromboneTwo {
        \set Staff.instrumentName = \markup { "Trombone 2" }
        \set Staff.shortInstrumentName = \markup { "Trom. 2" }
        \set Staff.midiInstrument = "trombone"
        \transpose c c {
          \relative c {
            \clef bass
            \global
          }
        }
      }
      \context Staff = BassTrombone {
        \set Staff.instrumentName = \markup { "Bass Trombone" }
        \set Staff.shortInstrumentName = \markup { "Bass Trom." }
        \set Staff.midiInstrument = "trombone"
        \transpose c c {
          \relative c {
            \clef bass
            \global
          }
        }
      }
    >>
    \new StaffGroup
    <<
      \context Staff = BandEupho {
        \set Staff.instrumentName = \markup { "Euphonium" }
        \set Staff.shortInstrumentName = \markup { "Eupho." }
        \set Staff.midiInstrument = "tuba"
        \transpose c c {
          \relative c {
            \clef bass
            \global
          }
        }
      }
    >>
    \new StaffGroup
    <<
      \context Staff = EbTubas {
        \set Staff.instrumentName = \markup {"E"\flat" Tuba" }
        \set Staff.shortInstrumentName = \markup {"E"\flat" Tuba" }
        \set Staff.midiInstrument = "tuba"
        \transpose c c {
          \relative c {
            \clef bass
            \global
          }
        }
      }

      \context Staff = BbTubas {
        \set Staff.instrumentName = \markup {"B"\flat" Tuba" }
        \set Staff.shortInstrumentName = \markup {"B"\flat" Tuba" }
        \set Staff.midiInstrument = "tuba"
        \transpose c c {
          \relative c {
            \clef bass
            \global
          }
        }
      }
    >>
    
    \context DrumStaff = BandPercussion {
      \set DrumStaff.instrumentName = \markup { "Percussion" }
      \set DrumStaff.shortInstrumentName = \markup { "Perc." }
      \transpose c c {
        \relative c {
          \global
        }
      }
    }
  >>
   \layout {}
   \header {}
 }
  
  \paper{ 
    #(set-paper-size "a3" 'landscape )
    line-width = #370
    horizontal-shift = #5
    indent = #10
    ragged-last-bottom = t
    ragged-bottom = t
    after-title-space = #0
  }




-- 

Cameron Horsburgh

Blog: http://spiritcry.wordpress.com/




reply via email to

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