lilypond-user
[Top][All Lists]
Advanced

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

Re: LilyPond can't engrave 16 pages of music


From: Thomas Morley
Subject: Re: LilyPond can't engrave 16 pages of music
Date: Sat, 22 Dec 2018 11:45:56 +0100

Am Sa., 22. Dez. 2018 um 02:46 Uhr schrieb Ben <address@hidden>:

> What are your system specs? I can compile the file on my Linux Mint x64 
> laptop with 16GB of RAM, rockin' an 8th gen i7 but it took about 10 minutes 
> almost. That seems very very slow.

Well, I have a weak laptop. In the past I had some fast and powerfull
laptops. All died after far too short time, with broken motherboard. I
was told it makes no sense to repair.
So I was very upset and decided not to buy such an expensive machine
again. I now have one which was offered as a machine for starters. LOL
The lifetime of this laptop already beats the ones from all previous
powerful machines together.

That said, I've two processors behaving like four
Intel(R) Pentium(R) CPU  N3510  @ 1.99GHz
and
4 GB RAM

Using LilyPond-2.19.82 on Ubuntu 18.04 64-bit

> Did you experience the same wait times?

It lasted ~40minutes (I didn't observed the time exactly)

I think:
most of the time is spend in calculating spacing/line-/page-breaks.
The OP's examples contains most simple 4th and whole notes, nothing
else. So LilyPond has no hints and only a few limitations while
calculating spacing/line-/page-breaks.
Afaict, the only limitation is: no (page)break mid-measure.
But in real life scores there are usually a lot of limitations,
because bars contain more notes (making it impossible to put too many
of them in one line) or all sorts of spanners (Beams, Hairpins, etc),
all influence the penalties for line/page-breaks.
In the current example close to all is equal. So LilyPond calculates
the best option and calculates and calculates and ...
So our very powerful engine draws circles.

To verify my guess, I excluded automatic breaks and did them all
manually (breaks are not really optimal, now 26 pages with a lonely
system on last page is retunred. It makes no sense to do the needed
fine tuning for such an example)

\layout {
  \autoBreaksOff
}

\new Staff
  <<
    {
      \time 4/4
      \repeat unfold 1000 { c4 d e f } % TEN PAGES of music
      \repeat unfold 1000 { f1 } % + SIX MORE PAGES of music
      \repeat unfold 1000 { c4 d e f } % BUT WHEN ADDING MORE PAGES, fail NOW
    }
    {
      \repeat unfold 25
        { \repeat unfold 12 { \repeat unfold 8 { s1 } \break } \pageBreak }
    }
  >>

Finished in 1m15,290s
With very little memory usage.


Cheers,
  Harm



reply via email to

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