libjwt-typed-0.2: bench/Benchmarks.hs
module Main
( main
)
where
import Algorithms
import Benchmarks.Jose as Jose
import Benchmarks.Libjwt as My
import Criterion hiding ( benchmark )
import Criterion.Main ( defaultMain )
main :: IO ()
main = defaultMain
[ bgroup
"signing"
[ bgroup
"HMAC512"
[ my $ My.signing <*> pure hs512
, jose $ Jose.signing <*> pure jwkHS512
]
, bgroup
"RSA512"
[ my $ My.signing <*> pure rs512
, jose $ Jose.signing <*> pure jwkRS512
]
, bgroup
"ECDSA256"
[ my $ My.signing <*> pure es256
, jose $ Jose.signing <*> pure jwkES256
]
, bgroup
"ECDSA512"
[ my $ My.signing <*> pure es512
, jose $ Jose.signing <*> pure jwkES512
]
]
, bgroup
"decoding"
[ bgroup
"HMAC512"
[ my $ My.decoding <*> pure hs512
, jose $ Jose.decoding <*> pure jwkHS512
]
, bgroup
"RSA512"
[ my $ My.decoding <*> pure rs512
, jose $ Jose.decoding <*> pure jwkRS512
]
, bgroup
"ECDSA256"
[ my $ My.decoding <*> pure es256
, jose $ Jose.decoding <*> pure jwkES256
]
, bgroup
"ECDSA512"
[ my $ My.decoding <*> pure es512
, jose $ Jose.decoding <*> pure jwkES512
]
]
]
where
jose = bgroup "jose"
my = bgroup "libjwt"