Marcus G. Daniels marcus@cathcart.sysc.pdx.edu
12 May 1997 01:01:41 -0700

>>>>> "BS" == BRIAN SPILSBURY <zhivago@iglou.com> writes:

MD> Suppose you do _everything_, can't these tiny commits of the stack
MD> just be roundoffs to set a bits in a dirty vector?  Then after N of
MD> those things commit all the dirty pages?

BS> If you're happy to take the overhead of all persistent data going
BS> though a transactional databae and being written to the physical
BS> media on a change, then there won't be any disjointedness, but
BS> that's a fairly large hit.

I mean, in the extreme case, before pushSTACK(obj) actually pushes `obj', it
calls a startTransaction.  The push occurs, and then a 
endTransaction occurs.   Clearly the cost of actually performing
these transactions all the time is very high.

But why can't `startTransaction' be defined like:

startTransaction ()

and `endTransaction' by:

  if (transactionCount > transactionThreshold)
      transactionCount = 0;