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)?

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to