]> git.immae.eu Git - github/fretlink/hmacaroons.git/blame - bench/bench.hs
Merge travis config from master
[github/fretlink/hmacaroons.git] / bench / bench.hs
CommitLineData
f6781456
JT
1{-#LANGUAGE OverloadedStrings #-}
2
3import Data.ByteString (ByteString)
4import Criterion.Main
5
6import Crypto.Macaroon
7import Crypto.Macaroon.Internal
8
9
10loc :: ByteString
11loc = "http://mybank/"
12
13ident :: ByteString
14ident = "we used our secret key"
15
16key :: ByteString
17key = "this is our super secret key; only we should know it"
18
19cav :: ByteString
20cav = "test = caveat"
21
22
23{-#INLINE benchCreate#-}
24benchCreate :: (Key, Key, Location) -> Macaroon
25benchCreate (secret, ident, loc) = create secret ident loc
26
27{-#INLINE benchMint #-}
28benchMint :: ((Key, Key, Location), ByteString) -> Macaroon
29benchMint (ms,c) = addFirstPartyCaveat c (benchCreate ms)
30
31main = defaultMain [
32 bgroup "Crypto.Macaroon" [ bench "create" $ nf benchCreate (key,ident,loc)
33 , bench "mint" $ nf benchMint ((key,ident,loc),cav)
34 ]
35 ]