Hey all, A small patch to speed up LilyPond for large scores. Some benchmarks: \version ...
14 years, 3 months ago
(2011-11-05 12:37:28 UTC)
#1
Hey all,
A small patch to speed up LilyPond for large scores. Some benchmarks:
\version "2.15.17"
foo = \relative c'' {
\repeat unfold 1200 {
<a b cis e>8-.^"foo"\pp^\espressivo\glissando[
( <a b cis e>-.^"foo"\p^\espressivo )]
}
}
<<
\new Staff \foo
>>
CURRENT MASTER
real 0m36.986s
user 0m33.366s
WITH PATCH
real 0m36.393s
user 0m32.262s
\version "2.15.17"
foo = \relative c'' {
\repeat unfold 1200 {
<a b cis e>8-.^"foo"\pp^\espressivo\glissando[
( <a b cis e>-.^"foo"\p^\espressivo )]
}
}
<<
\new Staff \foo
\new Staff \foo
\new Staff \foo
\new Staff \foo
\new Staff \foo
\new Staff \foo
>>
CURRENT MASTER
real 5m29.722s
user 5m17.332s
sys 0m4.544s
WITH PATCH
real 3m30.123s
user 3m21.257s
Just tried this out on a real score - the 4th movement of the Eroica ...
14 years, 3 months ago
(2011-11-05 15:45:31 UTC)
#2
Just tried this out on a real score - the 4th movement of the Eroica on mutopia.
CURRENT MASTER
real 4m30.352s
user 4m21.088s
WITH PATCH
real 2m4.457s
user 2m0.148s
w00t!
mtsolo@gmail.com wrote Saturday, November 05, 2011 3:45 PM > Just tried this out on a ...
14 years, 3 months ago
(2011-11-05 16:43:26 UTC)
#3
mtsolo@gmail.com wrote Saturday, November 05, 2011 3:45 PM
> Just tried this out on a real score - the 4th movement of the
> Eroica on
> mutopia.
>
> CURRENT MASTER
>
> real 4m30.352s
> user 4m21.088s
>
> WITH PATCH
>
> real 2m4.457s
> user 2m0.148s
>
> w00t!
W00t indeed! That's some improvement!
(I don't know how well that translates from the Yorkshire expression
when written out - it means "That's a tremendous improvement!",
expressed with surprised admiration. :)
Getting a 10% improvement in speed would be remarkable; getting a
speed-up of 125% is incredible!
Trevor
On Nov 5, 2011, at 9:43 AM, Trevor Daniels wrote: > > mtsolo@gmail.com wrote Saturday, ...
14 years, 3 months ago
(2011-11-05 18:04:23 UTC)
#4
On Nov 5, 2011, at 9:43 AM, Trevor Daniels wrote:
>
> mtsolo@gmail.com wrote Saturday, November 05, 2011 3:45 PM
>
>
>> Just tried this out on a real score - the 4th movement of the Eroica on
>> mutopia.
>>
>> CURRENT MASTER
>>
>> real 4m30.352s
>> user 4m21.088s
>>
>> WITH PATCH
>>
>> real 2m4.457s
>> user 2m0.148s
>>
>> w00t!
>
> W00t indeed! That's some improvement!
>
> (I don't know how well that translates from the Yorkshire expression when
written out - it means "That's a tremendous improvement!", expressed with
surprised admiration. :)
>
> Getting a 10% improvement in speed would be remarkable; getting a speed-up of
125% is incredible!
>
> Trevor
>
Thanks! I haven't done exhaustive testing, but I'm guessing that the +100% is a
best-case scenario that only applies to large scores with several
VerticalAxisGroups. I tried it on a few page long snippets w/ one system and it
shaves off around 0.03 seconds from a 1.5 second compilation.
Vive l'optimisation,
~Mike
looks good! I never realized this case was such a bottleneck. http://codereview.appspot.com/5349043/diff/1/lily/align-interface.cc File lily/align-interface.cc (right): ...
14 years, 3 months ago
(2011-11-05 20:36:31 UTC)
#5
Issue 5349043: Caches pure translations for full score.
(Closed)
Created 14 years, 3 months ago by MikeSol
Modified 14 years, 3 months ago
Reviewers: t.daniels_treda.co.uk, mike_apollinemike.com, joeneeman, Keith, pkx166h
Base URL:
Comments: 2