horde-ad-0.3.0.0: bench/LongProdBench.hs
module Main (main) where
import Prelude
import Control.DeepSeq
import Criterion.Main
import System.Random
import BenchProdTools
allxs :: [Double]
allxs = let xs = map (+ 0.55) $ randoms (mkStdGen 42)
in deepseq (take 1000000 xs) xs
main :: IO ()
main =
defaultMain -- skips the tiny benchmarks
[ bgroup1e4 allxs
, bgroup1e5 allxs
, bgroup1e6 allxs
{- OOMs, probably for a good reason (huge terms); TODO: diagnose and enable 1e7
and enable more cases also for 1e5 and 1e6
, bgroup1e7 allxs
, bgroup5e7 allxs -}
]