Skip to content

Commit

Permalink
Added bracketIO benchmarks
Browse files Browse the repository at this point in the history
Ignore-this: 8c0799d71b2ad6274caa3e74d2bb07e9

darcs-hash:20110304193011-ae560-df1919f6210e7e97e09b6432d1ec366d12638364.gz
  • Loading branch information
basvandijk committed Mar 4, 2011
1 parent d9fbf80 commit 5cd7c43
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion bench-monad-peel-control.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ executable bench-monad-peel-control
, base-unicode-symbols >= 0.1.1 && < 0.3
, transformers >= 0.2 && < 0.3
, criterion >= 0.5 && < 0.6
, monad-control >= 0.1 && < 0.3
, monad-control >= 0.2.1 && < 0.3
, monad-peel >= 0.1 && < 0.2
, MonadCatchIO-transformers >= 0.2.2.2 && < 0.3
16 changes: 12 additions & 4 deletions bench.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,15 @@ import qualified Control.Monad.CatchIO as MCIO

main :: IO ()
main = defaultMain
[ benchAll "bracket" benchBracket MCIO.bracket MP.bracket MC.bracket
, benchAll "bracket_" benchBracket_ MCIO.bracket_ MP.bracket_ MC.bracket_
, benchAll "catch" benchCatch MCIO.catch MP.catch MC.catch
, benchAll "try" benchTry MCIO.try MP.try MC.try
[ benchAll "bracket" benchBracket MCIO.bracket MP.bracket MC.bracket
, bgroup "bracketIO" [bench "monad-control" benchBracketIO]

, benchAll "bracket_" benchBracket_ MCIO.bracket_ MP.bracket_ MC.bracket_
, bgroup "bracketIO_" [bench "monad-control" benchBracketIO_]

, benchAll "catch" benchCatch MCIO.catch MP.catch MC.catch

, benchAll "try" benchTry MCIO.try MP.try MC.try

, bgroup "mask"
[ bench "monad-peel" $ benchMask mpMask
Expand Down Expand Up @@ -83,6 +88,9 @@ benchBracket_ bracket_ = exe $ bracket_ nop nop nop
benchCatch catch = exe $ catch throwE (\E -> nop)
benchTry try = exe $ try throwE :: R (Either E ())

benchBracketIO = exe $ MC.bracketIO nop (\_ -> nop) (\_ -> nop)
benchBracketIO_ = exe $ MC.bracketIO_ nop nop nop

benchMask :: (((forall a. M a -> M a) -> M ()) -> M ()) -> R ()
benchMask mask = exe $ mask $ \restore -> nop >> restore nop >> nop

Expand Down

0 comments on commit 5cd7c43

Please sign in to comment.