lilypond-devel
[Top][All Lists]
Advanced

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

Re: Illegal C++


From: Han-Wen Nienhuys
Subject: Re: Illegal C++
Date: Fri, 07 Oct 2005 11:00:21 +0200
User-agent: Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929)

[back to mailing list.]

Wiz Aus wrote:
Um...lilypond uses an interpretive language (Scheme), goes via TEX and PS to produce output, and you're worried about a few extra C++ function calls? I would be flabbergasted if this made any measurable difference to lilypond's performance.

Actually, the optimization was pretty trivial once I had the precomputed methods going. FWIW, the top of the profile shows a lot of these "lowlevel" function calls that take a large amount of total execution time because of how often they are called.

Ok, I just download the typeset of Beethoven's 7th symphony, 2nd movement from www.mutopiaproject.com, and lilypond took a rather languorous 2.5 minutes to produce a PDF! What would it have been *before* the optimizations?

I don't know for sure. Try 2.6 if you want numbers. The major optimization was actually reconfiguring some memory management parameters, which saved 30 to 40%. Most other optimizations were in the order of 2 to 5 %.

I would expect 10 seconds absolute tops, and realistically, I would want to be able to edit a score of this size (if not longer) and see my changes instantly - i.e., subsecond output re-generation. Obviously "regeneration" can generally usually be done faster than generation from scratch (via caching etc.), but 2.5 minutes seems kinda crazy.

I agree that it would be nice. If you have a constructive idea how we can do this, I'd be glad to hear about it.

On top of this, the actual score produced is well...um...let's say "a nice looking rough draft" - I'm not sure how much lilypond itself is to blame (as opposed to the typesetter), but the score looks fairly free of overrides and adjustments, so I was kinda surprised to see text overlapping slurs and hairpins,

I'm not claiming that Lily produces perfect output. Better collision detection is on our radar, but the 2.7 series seems to be focused on page layout. Also, solving collisions algorithmically is tricky. For every case that you do correctly, there are also cases where the algorithm will make a bigger mess.

--
 Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

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