|
From: | Auto mailings of changes to Lily Issues via Testlilyissues-auto |
Subject: | [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5922 Rewrite Skyline code |
Date: | Fri, 24 Apr 2020 15:50:53 -0000 |
don't trim zero width buildings
https://codereview.appspot.com/547980044
[issues:#5922] Rewrite Skyline code
Status: Started
Created: Sun Apr 19, 2020 09:42 PM UTC by Han-Wen Nienhuys
Last Updated: Fri Apr 24, 2020 03:50 PM UTC
Owner: Han-Wen Nienhuys
With this change, Carver MSDM goes from 38 seconds to 32 seconds, a
15% improvement.
Do not use contiguous buildings. Instead, Y=-infinity is represented
by simply omitting the building. This reduces memory requirements
(for example, an empty skyline needs no buildings at all.), and
obviates the Skyline::normalize() call which takes ~1 % of CPU.
Buildings store Y coordinate of the left edge, rather than the
intercept at x==0.0. This avoid excessive rounding problems when X
is large, and lets us compute building.height_at(x[LEFT]) cheaply.
Avoid using infinity and NaN. We only let the X coordinates at the
be infinite (which is only necessary if a minimum height is
specified)
Aggressively prune zero width
buildings. Adjust input/regression/skyline-point-extent to match
this behavior
Simplify the merge code, using less nested if statements.
Add a unittest for the Skyline code
Debug output is produced with Lookup::segments_to_line_stencil()
https://codereview.appspot.com/547980044
Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
_______________________________________________ Testlilyissues-auto mailing list address@hidden https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
[Prev in Thread] | Current Thread | [Next in Thread] |