From a17bd53598ee5266fc3a1c45f8f4bb4798dc495e Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Fri, 21 Feb 2025 13:35:26 +0100 Subject: Working tests and benchmarks against 'ad' --- bench/Main.hs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'bench') 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] + ] -- cgit v1.2.3-70-g09d2