[Top][All Lists]

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

Re: Caches grob properties before evaluation. (issue 6573066)

From: dak
Subject: Re: Caches grob properties before evaluation. (issue 6573066)
Date: Fri, 02 Oct 2015 14:06:17 +0000

On 2012/09/28 07:38:05, MikeSol wrote:
This slows down LilyPond - I haven't done comprehensive tests of how
much.  I'm
pretty sure it works (the regtest works as expected).  Irrespective of
multiple passes are done, this seems like a necessary first step.

Note that this patch would not have a time impact if it used
properties stashed
in immutable_properties_alist_. If all side effects were eliminated
LilyPond (which would be awesome), then this could be done.  However,
this would
be very difficult - for example, tweaks are given to grobs after their
immutable_properties_alist_ is fixed (see the tweak engraver).

I'm not really able to figure out where this patch was supposed to help.
 But for whatever it's worth, ly:make-simple-closure and its C++
equivalents are gone.  chain_offset_callback and its ilk are still
around but work via unpure-pure-containers or callbacks now.  They still
swap out values at the same time as previously.

There also is now an \offset command using a grob-transformer function
at its heart: those have a similar effect but work exclusively in the
immutable property chain.

reply via email to

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