comark-html-0.1.0: bench/ProGit.hs
module Main where
import Criterion.Main
import qualified Data.Text as Text
import qualified Data.Text.IO as Text
import qualified CMark
import Comark.Html as Comark
import Comark.Syntax as Comark
import Comark.TestUtils.CMark (ListType, nodeToDoc)
import Control.DeepSeq
instance NFData CMark.Node
instance NFData CMark.PosInfo
instance NFData CMark.NodeType
instance NFData CMark.ListAttributes
instance NFData Comark.TestUtils.CMark.ListType
instance NFData CMark.DelimType
main :: IO ()
main = do
input <- Text.readFile "progit.md"
putStrLn "finished reading"
let node = CMark.commonmarkToNode [CMark.optNormalize] input
doc = nodeToDoc node
node `deepseq` putStrLn "evaluated node"
doc `deepseq` putStrLn "evaluated doc"
defaultMain
[ bench "cmark-hs" $ nf (CMark.nodeToHtml []) node
, bench "comark" $ nf Comark.render doc
]