|
From: | Joseph Rushton Wakeling |
Subject: | Re: Incremental compiling |
Date: | Thu, 09 Aug 2012 12:27:46 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 |
On 09/08/12 08:35, David Kastrup wrote:
No, it doesn't. As opposed to TeX which makes its _vertical_ break decisions sequentially and independently, LilyPond uses global optimization. One can still save the local decision tree, but it may take a number of pages before it locally collapses to a single choice.
Vaughan was suggesting what _could be done_ rather than what _is_ done.Does Lilypond currently do _any_ separation of the work into different jobs? I ask because it seems likely that anywhere there's a known page break, you can carry out the engraving independently. So e.g. if I have a 3-movement work and it's set that each movement will start on a new page, Lilypond could in principle engrave each of those movements in a separate job. That could be in a separate thread, or Lilypond could just do each movement sequentially -- the point is that optimizing the layout for each movement does not need to depend on the others.
Currently I could do that manually by having each movement as a separate LP project and building them separately, but it could be useful to have Lilypond detect those opportunities automatically.
Regarding global optimization, this sounds like it might become unmanageable for scores more than a certain size. How does memory usage scale with work size (roughly)?
[Prev in Thread] | Current Thread | [Next in Thread] |