{-# LANGUAGE OverloadedStrings #-} module Warp (benchmarks) where import Criterion.Main (bench, bgroup, nf) import Criterion.Types (Benchmark) import Data.ByteString (ByteString) import Network.Wai.Handler.Warp.ReadInt (readInt) import qualified Data.Attoparsec.ByteString.Char8 as B benchmarks :: Benchmark benchmarks = bgroup "warp" [ bgroup "decimal" [ bench "warp" $ nf (readInt :: ByteString -> Int) "31337" , bench "atto" $ nf (B.parse (B.decimal :: B.Parser Int)) "31337" ] ]