packages feed

valiant-0.1.0.0: bench/Main.hs

module Main where

import Criterion.Main
import qualified BenchAsyncpgCompare
import qualified BenchCodec
import qualified BenchConcurrent
import qualified BenchPool
import qualified BenchQuery
import System.Environment (lookupEnv)

main :: IO ()
main = do
  mUrl <- lookupEnv "DATABASE_URL"
  let dbBenches = case mUrl of
        Nothing -> []
        Just _ -> BenchQuery.benchmarks
              <> BenchConcurrent.benchmarks
              <> BenchPool.benchmarks
              <> BenchAsyncpgCompare.benchmarks
  defaultMain $
    [ bgroup "codec" BenchCodec.benchmarks
    ] <> dbBenches