[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
how
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
from
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.
https://codereview.appspot.com/6573066/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Caches grob properties before evaluation. (issue 6573066),
dak <=