diff options
Diffstat (limited to 'bench/Main.hs')
-rw-r--r-- | bench/Main.hs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/bench/Main.hs b/bench/Main.hs index a11f4e8..99c3f1d 100644 --- a/bench/Main.hs +++ b/bench/Main.hs @@ -4,11 +4,24 @@ module Main where import Criterion import Criterion.Main +import qualified Numeric.AD as AD + import qualified Numeric.ADDual as ADD import Numeric.ADDual.Examples main :: IO () main = defaultMain - [env (pure makeNeuralInput) $ \input -> - bench "neural" $ nf (\inp -> ADD.gradient' @Double fneural inp 1.0) input] + [env (pure (makeNeuralInput 100)) $ \input -> + bgroup "neural-100" + [bench "dual" $ nf (\inp -> ADD.gradient' @Double fneural inp 1.0) input + ,bench "ad" $ nf (\inp -> AD.grad fneural inp) input] + ,env (pure (makeNeuralInput 500)) $ \input -> + bgroup "neural-500" + [bench "dual" $ nf (\inp -> ADD.gradient' @Double fneural inp 1.0) input + ,bench "ad" $ nf (\inp -> AD.grad fneural inp) input] + ,env (pure (makeNeuralInput 2000)) $ \input -> + bgroup "neural-2000" + [bench "dual" $ nf (\inp -> ADD.gradient' @Double fneural inp 1.0) input + ,bench "ad" $ nf (\inp -> AD.grad fneural inp) input] + ] |