packages feed

ogmarkup-3.0.1: bench/Bench.hs

{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE MultiParamTypeClasses #-}

import Criterion.Main
import Text.Ogmarkup
import Data.Text (Text)
import Data.FileEmbed

main = defaultMain [ bench "nf ogmarkup text -> text" $ nf (ogmarkup inputText) ConfText
                   , bench "whnf ogmarkup text -> text" $ whnf (ogmarkup inputText) ConfText
                   , bench "nf ogmarkup string -> string" $ nf (ogmarkup inputString) ConfString
                   , bench "whnf ogmarkup string -> string" $ whnf (ogmarkup inputString) ConfString

                   ]

inputString :: String
inputString = $(embedFile "bench/test.up")
inputText :: Text
inputText = $(embedFile "bench/test.up")

data ConfText = ConfText
instance GenConf ConfText Text where
    printSpace _ _ = " "

data ConfString = ConfString
instance GenConf ConfString String where
    printSpace _ _ = " "