On 1/6/07, Han-Wen Nienhuys <[EMAIL PROTECTED]> wrote:

Joe Neeman escreveu:
>
>     Hi,
>
>     I have added scripts for profiling, see buildscripts/build-
profile.sh.
>
>     It turns out that the skyline related routines have replaced
>     Grob::get_property() as the top-contender in the profile.  Can you
>     have a look to see if this can be  optimized?
>
>
> I'll take a look. How important is the optimisation? (I was thinking of
> trying to turn 2-pass spacing into 1-pass spacing -- which should I do
> first?)

I don't know, take a look at the profile and see if you can come up with
some
simple shortcuts. I already did a few. (Couldn't sleep last night).

A few simple optimizations put Page_spacer::calc_subproblem at the top.


Some further optimisations give
 time   seconds   seconds    calls  ms/call  ms/call  name
 7.48      0.62     0.62   564933     0.00     0.00
Page_spacer::calc_subproblem(unsigned int, unsigned int)
 3.38      0.90     0.28  1103679     0.00     0.00
Building::conceals_beginning(Building const&) const
 3.02      1.15     0.25  1467008     0.00     0.00  Building::precompute()
 2.90      1.39     0.24    73951     0.00     0.01
Skyline::internal_merge_skyline(std::list<Building, std::allocator<Building>
*, std::list<Building, std::allocator<Building> >*, std::list<Building,
std::allocator<Building> >*)
 2.83      1.63     0.24  8807932     0.00     0.00
Grob::internal_get_property_data(scm_unused_struct*) const
 2.77      1.86     0.23  2063603     0.00     0.00
Building::conceals(Building const&) const
 2.53      2.07     0.21  1739992     0.00     0.00  Grob::extent(Grob*,
Axis) const
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to