packages feed

scrod-0.2026.2.21: source/benchmark/Main.hs

import qualified Data.ByteString.Builder as Builder
import qualified Data.ByteString.Lazy as LazyByteString
import qualified Scrod.Executable.Main as Main
import qualified Test.Tasty.Bench as Bench

main :: IO ()
main =
  Bench.defaultMain
    [ Bench.bench "empty input" . Bench.nfIO $ run
    ]

run :: IO LazyByteString.ByteString
run = do
  result <- Main.mainWith "bench" [] (pure "")
  case result of
    Left e -> fail e
    Right b -> pure $ Builder.toLazyByteString b