lilypond-devel
[Top][All Lists]
Advanced

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

Re: scheme night-mare...


From: Arno Waschk
Subject: Re: scheme night-mare...
Date: Mon, 12 Jul 2010 23:07:10 +0200
User-agent: Opera Mail/10.60 (Linux)

On Mon, 12 Jul 2010 22:23:04 +0200, Joe Neeman <address@hidden> wrote:

On Monday, July 12, 2010 06:51:15 am Arno Waschk wrote:
On Mon, 12 Jul 2010 15:02:26 +0200, Carl Sorensen <address@hidden>

wrote:
> On 7/12/10 4:48 AM, "Arno Waschk" <address@hidden> wrote:
>>> Just finished a profile run with a larger score- ly_scm2interval is
>>> reported to have consumd 16% of computation time. There must be
>>> something wrong.
>>
>> ... which appears in a loop, which is performed >2 billions times (!)
>> for
>> a 18 a3 page test score.
>> Says gprof...
>>
>> Is that possible/necessary?
>
> Well, if it's an 18 page score, then there are lots of page break
> options,
> and so there would be lots of calculations. 2 billion seems like a lot,
> but there are a lot of ways to figure out line and page breaks in 18
> pages
> of score....
>
> ly_scm2interval is part of the beam scoring code. So that might be where
> many of the calls come from.

no, from the beam thing it is only called ~1000 tmes, the two billion come
 from a loop in Axis_group_interface::combine_pure_heights (...)

This sounds excessive; if we cache more sensibly, this should reduce by at least a factor of 100. Does your score have many staves? Also, how many times
is Align_interface::get_pure_child_y_translation called?

Cheers,
Joe


Hi, the mentioned routine is called ~ 230000 times and does hardly consume time according to gprof. it is a cello and piano score with quite lot systems squeezed onto the a3 pages. it contains ~ 1600 bars, and breaks.size() is around 1200 IIRC

Yours, Arno



reply via email to

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