]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.5.35
authorfred <fred>
Wed, 27 Mar 2002 02:06:00 +0000 (02:06 +0000)
committerfred <fred>
Wed, 27 Mar 2002 02:06:00 +0000 (02:06 +0000)
input/regression/beam-over-barline.ly [new file with mode: 0644]
input/regression/beaming-ternary-metrum.ly [new file with mode: 0644]
lily/engraver-group-engraver.cc

diff --git a/input/regression/beam-over-barline.ly b/input/regression/beam-over-barline.ly
new file mode 100644 (file)
index 0000000..6f57cff
--- /dev/null
@@ -0,0 +1,6 @@
+\header {
+texidoc = "explicit beams may cross barlines. "
+}
+\score {
+\notes \context Voice { c2. [c8 c8 c8 c8] }
+}
diff --git a/input/regression/beaming-ternary-metrum.ly b/input/regression/beaming-ternary-metrum.ly
new file mode 100644 (file)
index 0000000..a0fcb46
--- /dev/null
@@ -0,0 +1,10 @@
+\header {
+texidoc = "automatic beaming also works in ternary time sigs."
+}
+
+\score {
+   \notes \context Staff {
+\time 6/8
+[c8. c16 c16 c16] 
+}
+}
index b30a854d16ec3a51c1f2eb6a0016c0cad7269bba..03b268ea765d89456a07d8734ed9cc060108a2e0 100644 (file)
@@ -34,8 +34,36 @@ Engraver_group_engraver::create_grobs_in_simple_children ()
 }
 
 /*
-  TODO: use this mechanism for the current Engraver_group_engraver as well.
-  
+
+  '''Done: eliminating useless broadcast/acknowledge'''
+
+
+One cause for translation slowness: grob broadcasted/acknowledges
+(b/a): every grob is b/a'd to all peer-engravers and all
+parent-engravers. This means that lots of (often) useless b/a is done
+for large scores (the top-level engravers gets to know every detail of
+every voice, thread, etc. Measurements indicate this is 10% of the
+interpretation time:
+
+standchen
+
+old: (pre 1.5.13)  10.28
+new: 8.73
+speedup: 15 %
+
+Coriolan:
+
+new: 197.59
+old: 219.12 seconds
+speedup: 10%
+
+
+The cost of this B/A is # of useless engravers * cost of one ack,
+which is rather low, since cost of one ack is only an interface check.
+The cost of precomputing engraver lists has two elts: computing the
+list itself, GC for the structure, looking up the list during the
+acks.
+
  */
 SCM find_acknowledge_engravers (SCM gravlist, SCM meta);
 void