[Top][All Lists]

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

Re: Long compile times with many empty bars

From: David Gustavsson
Subject: Re: Long compile times with many empty bars
Date: Sat, 7 Apr 2018 12:21:42 +0200

Passing 600, it's actually starting to look more exponential than
quadratic, but I'll wait until tonight to make more analysis.

A thought would be that an empty bar leaves more freedom for the compiler.
It probably has more rules about what it's allowed to do to bars with
certain content, but the empty bar is already stretched way beyond it's
contents etc.

Vänliga hälsningar
David Gustavsson

On Sat, Apr 7, 2018 at 12:15 PM, Torsten Hämmerle <address@hidden>

> Noeck wrote
> > I don’t know the internals enough, but isn’t it plausible that things
> > like finding the optimal line break etc. have a n² complexity
> > ("squared").
> Hi Joram,
> On the one hand, that sounds plausible, underpinned by David's evaluations.
> But I find it very interesting that it takes significantly less time if you
> replace the s4. by an R4.
> The effect can also be reproduced by using \repeat unfold ..., and thus
> using actual music (e.g. b'4. instead of s4.) - this is also considerably
> faster.
> Using full-bar rests, there basically should be the same line-breaking
> issue, one wouldn't expect such a great difference between "nothing" (s4.)
> and a rest symbol (R4.).
> Using R4. and omitting MultiMeasureRest doesn't have the time problem, but
> results in a wider spacing.
> So, to me, without deeper knowledge about line and page-breaking
> algorithms,
> it seems to be a special problem of emptiness (even missing spacing
> information?) in combination with line-breaking, in a way...
> Surprisingly, the excessive time consumption seems to take place is in step
> *"Processing graphical objects..."*
> In prior versions of LilyPond (2.18.2 and before), the effect has already
> been there, but a bit less pronounced.
> A combination of empty (s4.) and non-empty staves doesn't show the problem,
> either:
>   <<
>     \new Staff { \time 3/8  s4.*500 }
>     \new Staff { \time 3/8  R4.*500 }
>   >>
> Conclusion: Something is rotten in the state of Denmark.
> All the best,
> Torsten
> --
> Sent from: http://lilypond.1069038.n5.nabble.com/Bugs-f58488.html
> _______________________________________________
> bug-lilypond mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-lilypond

reply via email to

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