pandoc-plot-0.5.0.0: benchmark/bench.hs
{-# LANGUAGE TemplateHaskell #-}
import Criterion.Main
import Text.Pandoc.Definition
import Text.Pandoc.Filter.Plot
import Text.Pandoc.Filter.Plot.Internal
import MatplotlibGallery (galleryItem1, galleryItem2)
main :: IO ()
main =
defaultMain [
envWithCleanup (return ()) (\_ -> cleanupEnv) $ \_ ->
bgroup "main" [
bench "filter" $ nfIO (plotTransform defaultConfiguration benchDoc)
]
]
cleanupEnv :: IO ()
cleanupEnv = cleanOutputDirs defaultConfiguration benchDoc >> return ()
codeBlock :: Script -> Block
codeBlock = CodeBlock (mempty, [cls Matplotlib], mempty)
benchDoc :: Pandoc
benchDoc = Pandoc mempty [ codeBlock $(galleryItem1)
, codeBlock $(galleryItem2)
]