lilypond-devel
[Top][All Lists]

## Re: lilypond hangs

 From: Keith OHara Subject: Re: lilypond hangs Date: Thu, 5 Jan 2012 03:40:44 +0000 (UTC) User-agent: Loom/3.14 (http://gmane.org/)

```Werner LEMBERG <wl <at> gnu.org> writes:

> Look at the attached two files:
>
> The first file has 74 bars of a single voice, and `time' shows me the
> following for processing it:

> The other one is the same as the first file but has only 37 bars

> It seems that we have some very bad exponential behaviour in
> processing somewhere...
>

>     line-width = 18000\cm
>     ragged-right = ##t
>     ragged-last-bottom = ##f

Well, you are creating an unusual line-breaking optimization problem.

I think LilyPond uses a "total-fit" line-breaker, as made famous by TeX.
The number of possible breaking patterns does go up exponentially with
measure count (or word count for the TeX case).  Good algorithms limit
the number of breaking patterns that get evaluated, so that processing
time increases slower-than-exponentially for large measure count.

Here you have a case where you force the measures to fill more lines
than they would need, and "ragged-right" makes all line-breaks feasible.
You may have deprived the algorithm of its means to limit the number
of line-breaking patterns it needs consider.

```