[PEAK] Trellis + expensive operations
Christopher Stelma
chris at digsby.com
Tue Nov 25 18:29:15 EST 2008
I'm trying to avoid some unnecessary computation, and I feel I must be
missing something, either in terms of Trellis API or approach to the
problem.
I have a value y which depends on x. x would be a trellis managed piece of
data. The computation of y from x is expensive.
Right now, I have a pattern something like:
class A(object):
x = None
last_x = None
last_y = None
@property
def y(self):
if self.x != self.last_x:
self.last_y = some_expensive_calculation(self.x)
return self.last_y
I would like to accomplish something equivalent with Trellis attributes or
Cells, so that I don't have to repeat the computation unless the computed
value would change. Using a maintenance rule, y would be recomputed every
time some dependency in x changed. Using a compute rule, y is recomputed
every time I access y. My goal is to be able to set x some number of times,
followed by accessing y some number of times, but only ever do the
calculation once. I realize that this effect may be achieved by an optional
maintenance rule, but I'd like the same effect for every set of x and every
access of y, not just the first access of y.
--
Christopher Stelma
chris at digsby.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eby-sarna.com/pipermail/peak/attachments/20081125/57830106/attachment.html
More information about the PEAK
mailing list