packages feed

system-time-monotonic-0.1: testing/bombard.hs

-- Bombard a 'Clock' with 'clockGetTime' calls, to make sure this does not
-- degrade its accuracy.

import System.Time.Monotonic
import Control.Concurrent       (forkOS)
import Control.Monad            (forever)

main :: IO ()
main = do
    clock <- newClock
    putStrLn $ "Using " ++ clockDriverName clock
    _ <- forkOS $ forever $ clockGetTime clock
    _ <- forkOS $ forever $ clockGetTime clock
    _ <- forkOS $ forever $ clockGetTime clock
    forever $ do
        print =<< clockGetTime clock
        _ <- getLine
        return ()