diff options
| -rw-r--r-- | bench/Main.hs | 20 | ||||
| -rw-r--r-- | ox-arrays.cabal | 11 | 
2 files changed, 31 insertions, 0 deletions
diff --git a/bench/Main.hs b/bench/Main.hs new file mode 100644 index 0000000..d8582fe --- /dev/null +++ b/bench/Main.hs @@ -0,0 +1,20 @@ +{-# LANGUAGE NumericUnderscores #-} +{-# LANGUAGE TypeApplications #-} +module Main where + +import Test.Tasty.Bench + +import Data.Array.Nested + + +main :: IO () +main = defaultMain +  [bgroup "Num" +    [bench "sum(+) Double [1e6]" $ +      let n = 1_000_000 +      in nf (\(a, b) -> runScalar (rsumOuter1 (a + b))) +            (riota @Double n, riota n) +    ,bench "sum(*) Double [1e6]" $ +      let n = 1_000_000 +      in nf (\(a, b) -> runScalar (rsumOuter1 (a + b))) +            (riota @Double n, riota n)]] diff --git a/ox-arrays.cabal b/ox-arrays.cabal index d39d5e5..58fccf9 100644 --- a/ox-arrays.cabal +++ b/ox-arrays.cabal @@ -29,3 +29,14 @@ test-suite example    hs-source-dirs: example    default-language: Haskell2010    ghc-options: -Wall + +benchmark bench +  type: exitcode-stdio-1.0 +  main-is: Main.hs +  build-depends: +    ox-arrays, +    base, +    tasty-bench +  hs-source-dirs: bench +  default-language: Haskell2010 +  ghc-options: -Wall  | 
