packages feed

text-time-0.1.0: benchmark/Benchmarks.hs

import Criterion.Main
import Data.Text
import Data.Time
import Data.ByteString.Time


parseString :: String -> UTCTime
parseString str = parseTimeOrError True defaultTimeLocale "%Y-%m-%dT%H:%M:%S" str


parseByteString :: Text -> UTCTime
parseByteString str = parseTimeOrError True defaultTimeLocale "%Y-%m-%dT%H:%M:%S" (unpack str)


main :: IO ()
main = defaultMain
    [ bgroup "Time parsers"
        [ bench "String"  $ nf parseString "2016-12-12T20:56:34"
        , bench "ByteString"  $ nf parseISODateTime (pack "2016-12-12T20:56:34")
        ]
    ]