From: fred Date: Wed, 27 Mar 2002 02:06:00 +0000 (+0000) Subject: lilypond-1.5.35 X-Git-Tag: release/1.5.59~306 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=847d52cbfbdd2b1b891536a811241deb08567c67;p=lilypond.git lilypond-1.5.35 --- diff --git a/input/regression/beam-over-barline.ly b/input/regression/beam-over-barline.ly new file mode 100644 index 0000000000..6f57cff901 --- /dev/null +++ b/input/regression/beam-over-barline.ly @@ -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 index 0000000000..a0fcb46bd2 --- /dev/null +++ b/input/regression/beaming-ternary-metrum.ly @@ -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] +} +} diff --git a/lily/engraver-group-engraver.cc b/lily/engraver-group-engraver.cc index b30a854d16..03b268ea76 100644 --- a/lily/engraver-group-engraver.cc +++ b/lily/engraver-group-engraver.cc @@ -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