I'm not sure what you mean with "Time on different cores does not progress monotonically". Time could come from a dedicated clock device. E.g. in the broadcast television sector a time signal is distributed across all hardware components to keep them all in sync within some margin, or you could use the clock from a local sound card, etc. I guess each operating system provides such a clock. I'm also not sure about the performance penalty. One would surely get a penalty with a global lock on the clock (serializing time), but I think the problem can be solved with a local lock per stream. But I would have to think about this more before claiming such things :-)
Maybe you could elaborate a bit more on your claims? On Sun, Feb 15, 2009 at 5:38 AM, Bryan O'Sullivan <[email protected]>wrote: > 2009/2/14 Peter Verswyvelen <[email protected]> > >> If you have two streams of time/value pairs - using MVars as write-once >> sampling variables - and both streams are fed from another thread (e.g. >> timers firing), and you want to merge these two streams into a single stream >> with monotonic time stamps, then you want to be able to check if at time t >> an occurrence exists in a stream. >> > > What you want to do isn't actually achievable on multi-processor machines > without some form of mutual exclusion. Time on different cores does not > progress monotonically, and you'll pay an enormous performance penalty to do > what you want to do (the nature of which is somewhat unclear). >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
