[Top][All Lists]

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

Re: Serious feedback and improvement headroom

From: David Kastrup
Subject: Re: Serious feedback and improvement headroom
Date: Sat, 05 Apr 2014 21:15:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

Francisco Vila <address@hidden> writes:

> Urs, this is very interesting. My two thoughts below.
>> Another aspect that I found very astonishing is compilation speed. Of course
>> Amadeus files have to be compiled before the result is visible, and this can
>> be automatically done upon save. I think Frescobaldi's behaviour with Ctrl-M
>> and by now the autocompile is an equivalent approach here. But the engraver
>> claims that recompilation of a 30 page scores needs 2/10 of a second on an
>> average computer. So this _is_ a fundamental difference, because he _does_
>> have practically instant WYSIWYG while still benefitting from text input and
>> the compiled approach.
> A strong point of LilyPond is the beauty contest idea of automated
> engraving. That implies iterating through a tree of possibilities and
> finding good layouts without human intervention. I don't really know
> if it is used for everything, but what's clear is that AI takes time.

No, not really.  Optimization usually does not imply "iterating through
a tree of possibilities" except theoretically.  In practice, one uses
equivalent linear programming techniques.

TeX uses that for its whole-paragraph optimized line-breaking, and it
can crank out hundreds of pages per second on current computers.

> Default scores usually look good, but if LilyPond could switch off
> most of beauty-related calculations temporarily and cache the rest, it
> could possibly speed up things. As always, this is easy to say.

LilyPond's code is not streamlined in any reasonable manner and bounces
material between several different programming languages.  And it does
not use proper optimization.  It won't hold a candle to 1980s code.

David Kastrup

reply via email to

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