Skip to content

Commit

Permalink
tweak benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
mitchellwrosen committed Oct 17, 2023
1 parent ac3ef24 commit 7b2cbf0
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions bench/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@ import Control.DeepSeq (deepseq, force)
import Control.Exception (evaluate)
import List.Shuffle qualified as List
import System.Random qualified as Random
import Test.Tasty.Bench (bench, defaultMain, whnf)
import Test.Tasty.Bench (bench, defaultMain, nf, whnf)

main :: IO ()
main = do
let list = [1 .. 1000000] :: [Int]
let list = [1 .. 1_000_000] :: [Int]
_ <- evaluate (force list)

defaultMain
[ bench "sample" (whnf (sample 10) (list, Random.mkStdGen 0)),
bench "shuffle" (whnf shuffle (list, Random.mkStdGen 0))
[ bench "sample 10/1000000" (whnf (sample 10) (list, Random.mkStdGen 0)),
bench "shuffle 1000000" (whnf shuffle (list, Random.mkStdGen 0))
]

sample :: Int -> ([Int], Random.StdGen) -> ()
sample :: Int -> ([Int], Random.StdGen) -> [Int]
sample n (list, gen) =
deepseq (fst (List.sample n list gen)) ()
List.sample_ n list gen

shuffle :: ([Int], Random.StdGen) -> ()
shuffle :: ([Int], Random.StdGen) -> [Int]
shuffle (list, gen) =
deepseq (fst (List.shuffle list gen)) ()
List.shuffle_ list gen

0 comments on commit 7b2cbf0

Please sign in to comment.