---

** [issues:#5922] Rewrite Skyline code**

**Status:** Started
**Created:** Sun Apr 19, 2020 09:42 PM UTC by Han-Wen Nienhuys
**Last Updated:** Sun Apr 19, 2020 09:42 PM UTC
**Owner:** nobody


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 testlilyissues-a...@lists.sourceforge.net 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
testlilyissues-a...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
  • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development

Reply via email to