Trellis + expensive operations

"Christopher Stelma" <[email protected]> Tue, 25 Nov 2008 18:29:15 -0500
Newsgroups gmane.comp.python.peak
Message-ID <[email protected]>
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
[email protected]

_______________________________________________
PEAK mailing list
[email protected]
http://www.eby-sarna.com/mailman/listinfo/peak