Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type Cycles = Word64
- tick :: (a -> b) -> a -> IO (Cycles, b)
- tick' :: a -> IO (Cycles, a)
- tickM :: IO a -> IO (Cycles, a)
- tick_ :: IO Cycles
- tickf :: (a -> b) -> a -> IO (Cycles, b)
- tickfM :: (a -> IO b) -> a -> IO (Cycles, b)
- ticka :: (a -> b) -> a -> IO (Cycles, b)
- tickfa :: (a -> b) -> a -> IO ((Cycles, Cycles), b)
- spin :: Int -> ((a -> b) -> a -> IO (c, b)) -> (a -> b) -> a -> IO ([c], b)
- spins :: Int -> ((a -> b) -> a -> IO (c, b)) -> (a -> b) -> [a] -> IO ([[c]], [b])
- spinM :: Int -> ((a -> IO b) -> a -> IO (c, b)) -> (a -> IO b) -> a -> IO ([c], b)
- warmup :: Int -> IO Double
- force :: NFData a => a -> a
- replicateM' :: Monad m => Int -> m a -> m [a]
Documentation
tick :: (a -> b) -> a -> IO (Cycles, b) Source #
`tick f a` applies a to f, and strictly returns a (number of cycles, application result) tuple
variation that just measures the number of cycles to take a tick measurement
tickf :: (a -> b) -> a -> IO (Cycles, b) Source #
`tickf f a` applies a to f, and strictly returns a (number of cycles, application result) tuple, measuring just the f effect
ticka :: (a -> b) -> a -> IO (Cycles, b) Source #
`ticka f a` applies a to f, and strictly returns a (number of cycles, application result) tuple, measuring just the a effect
tickfa :: (a -> b) -> a -> IO ((Cycles, Cycles), b) Source #
`tickfa f a` applies a to f, and strictly returns a (number of cycles, application result) tuple, measuring both the f and the a effects separately.
spin :: Int -> ((a -> b) -> a -> IO (c, b)) -> (a -> b) -> a -> IO ([c], b) Source #
n measurements of whatever tick engine
spinM :: Int -> ((a -> IO b) -> a -> IO (c, b)) -> (a -> IO b) -> a -> IO ([c], b) Source #
n measurements of whatever tick engine
replicateM' :: Monad m => Int -> m a -> m [a] Source #