<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 8, 2010, at 9:25 AM, <a href="mailto:exarkun@twistedmatrix.com">exarkun@twistedmatrix.com</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 5 Oct, 08:09 pm, <a href="mailto:stephen.c.waterbury@nasa.gov">stephen.c.waterbury@nasa.gov</a> wrote:<br><blockquote type="cite">First, the "PB Copyable: Passing Complex Types" doc is<br></blockquote><blockquote type="cite">*great* and the examples are excellent -- my compliments to<br></blockquote><blockquote type="cite">all who contributed!<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">My question is about the pb.Cacheable section<br></blockquote><blockquote type="cite">(<a href="http://twistedmatrix.com/documents/current/core/howto/pb-">http://twistedmatrix.com/documents/current/core/howto/pb-</a> <br></blockquote><blockquote type="cite">copyable.html#auto9)<br></blockquote><blockquote type="cite">-- specifically the first sentence: &nbsp;'Sometimes the object you<br></blockquote><blockquote type="cite">want to send to the remote process is big and slow. "big" means<br></blockquote><blockquote type="cite">it takes a lot of data (storage, network bandwidth, processing)<br></blockquote><blockquote type="cite">to represent its state. &nbsp;"slow" means that state doesn't change<br></blockquote><blockquote type="cite">very frequently.'<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I would think that the product of its size and its rate of change<br></blockquote><blockquote type="cite">is the applicable metric -- i.e.: &nbsp;the bigger the object is *or*<br></blockquote><blockquote type="cite">the faster it changes (not the slower), the more applicable<br></blockquote><blockquote type="cite">Cacheable is, no?<br></blockquote><br>That seems plausible. &nbsp;I wonder if the rate comment is motivated by <br>something else, like the chance of the remote cache being out of date <br>when the remote side wants to use some of its data. &nbsp;This would increase <br>with the rate of change, but I don't know if it really matters. &nbsp;I <br>haven't ever actually used a Cacheable myself, as far as I can recall.<br></div></blockquote></div><br><div>I think I probably wrote that paragraph, and it was not very well put. &nbsp;Big objects which are "fast", i.e. change constantly, are perfectly suitable for Cacheables.</div><div><br></div><div>The point I believe I was trying to make there was that if <i>a significant proportion</i>&nbsp;of the object's data is changing quickly, Cacheable doesn't make much of a difference over just re-Copyable-ing the whole object, since the delta updates will be the same size as the whole object.</div><div><br></div></body></html>