Thomas E Enebo wrote:
  This makes me wonder if we cannot actually ascertain the cost of
various locking/volatile/active/inactive scenarios.  Of course in a
pet micro bench of these it may give an unrealistic answer, but it
would still be cool to get some understanding of cost.

Yeah, we need to measure it. In quick tests, making the invalidation token non-volatile seemed to help slightly, but that was with other volatile pings still happening frequently for cross-thread events. So it's difficult to know if removing all of them might save us something substantial.

  It also makes me think of more exotic solutions like generating a
callsite class per thread and per call then using actual
synchronization since then you would get monomorphic call and
lightweight synch lock.  I wonder if anyone has ever discussed all the
strategies that are realistic?  Like is that realistic or the suck :)

Yeah, I've wondered that too. I guess the problem we come back to is that at some point, threads need to be update about the state of the world, and that means we need to be hitting something volatile at some point (right?)

- Charlie

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to