lilypond-auto
[Top][All Lists]
Advanced

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

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5973 Simplify


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5973 Simplify and speed up break substitution
Date: Sat, 09 May 2020 18:12:49 -0000

reserve mem; clear mem; c++11 loops

https://codereview.appspot.com/569740046


[issues:#5973] Simplify and speed up break substitution

Status: Started
Created: Sat May 09, 2020 05:30 PM UTC by Han-Wen Nienhuys
Last Updated: Sat May 09, 2020 06:12 PM UTC
Owner: Han-Wen Nienhuys

When breaking a system into lines, the pointers between Grobs need to
be rearranged: for example, a single Slur grob that crosses a line break is
broken into two Slur grobs, and the first Slur will point to different
notes as the second slur.

This break substitution is centrally managed, and takes an appreciable
part of the runtime.

Before this change, complicated logic is executed during the break
substitution. For example, for an Item we would determine its System
by recursively following X-parent relationships. Since each item is a
pointed to from multiple other grobs, we have to repeat this expensive
step.

This change introduces a hash map in the root System grob, mapping
(original grob, system) => broken grob. This mapping is easily
populated before the substitution, and the break substitution itself
is reduced to hash lookups.

This yields a speedup of 3-4 %.

2ea63632de - drop islive conditional.
baseline: 8343ec8810 PO: fetch Catalan from FTP
args: -I carver/ MSDM
memory: med diff 114296 (stddevs 257 240, n=3)
memory: med diff 10.7 % (2ea63632de is fatter)
time: med diff -1.39 (stddevs 0.06 0.10, n=3)
time: med diff -2.9 % (2ea63632de is faster)

2ea63632de - drop islive conditional.
baseline: 8343ec8810 PO: fetch Catalan from FTP
args: input/regression/mozart-hrn-3.ly
memory: med diff -103296 (stddevs 73 189, n=3)
memory: med diff -23.0 % (2ea63632de is leaner)
time: med diff -0.14 (stddevs 0.00 0.01, n=3)
time: med diff -4.1 % (2ea63632de is faster)

https://codereview.appspot.com/569740046


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

reply via email to

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