aboutsummaryrefslogtreecommitdiff
path: root/bench/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'bench/Main.hs')
-rw-r--r--bench/Main.hs27
1 files changed, 25 insertions, 2 deletions
diff --git a/bench/Main.hs b/bench/Main.hs
index d8582fe..c1fc150 100644
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -2,6 +2,7 @@
{-# LANGUAGE TypeApplications #-}
module Main where
+import qualified Numeric.LinearAlgebra as LA
import Test.Tasty.Bench
import Data.Array.Nested
@@ -16,5 +17,27 @@ main = defaultMain
(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)]]
+ 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 -> runScalar (rsumOuter1 a))
+ (riota @Double n)
+ ]
+ ,bgroup "hmatrix"
+ [bench "sum(+) Double [1e6]" $
+ let n = 1_000_000
+ in nf (\(a, b) -> LA.sumElements (a + b))
+ (LA.linspace @Double n (fromIntegral 0, fromIntegral (n - 1))
+ ,LA.linspace @Double n (fromIntegral 0, fromIntegral (n - 1)))
+ ,bench "sum(*) Double [1e6]" $
+ let n = 1_000_000
+ in nf (\(a, b) -> LA.sumElements (a * b))
+ (LA.linspace @Double n (fromIntegral 0, fromIntegral (n - 1))
+ ,LA.linspace @Double n (fromIntegral 0, fromIntegral (n - 1)))
+ ,bench "sum Double [1e6]" $
+ let n = 1_000_000
+ in nf (\a -> LA.sumElements a)
+ (LA.linspace @Double n (fromIntegral 0, fromIntegral (n - 1)))
+ ]
+ ]