>Yes, the prior computation still effects the subsequent computation. The
>issue is *how much* of the prior computation's state effects the subsequent
>computation. This is an explicit design issue, what I was calling
The answer depends on your level of abstraction. At one level, *a* correct answer is *all* of it. Even computation whose output is unused has consequences on the state machine that impact performance -- for example, which things are in the data or instruction caches depends on such computation.
At another level, computation that does not impact the expected future state of the system is bad computation, in the sense that it reflects a state your program got into that produced no value (I am ignoring speculative execution tricks here, which produce probabalistic value).
It is legitemate to say "my persistence contract excludes the following kinds of information," but it is not possible to answer the question you pose in the absence of a specification. As you say, it is an explicit design issue.
Jonathan S. Shapiro, Ph. D.
IBM T.J. Watson Research Center
Phone: +1 914 784 7085 (Tieline: 863)
Fax: +1 914 784 7595