Skip to content

Commit a0d8b27

Browse files
committed
fix(bloomfilter): add salt to bench
1 parent 98d5c1f commit a0d8b27

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

bloomfilter/bench/bloomfilter-bench.hs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
module Main where
22

3+
import Criterion.Main (bench, bgroup, defaultMain, env, whnf)
34
import qualified Data.BloomFilter.Blocked as B.Blocked
45
import qualified Data.BloomFilter.Classic as B.Classic
5-
import Data.BloomFilter.Hash (Hashable (..), hash64)
6-
6+
import Data.BloomFilter.Hash (Hashable (..))
77
import Data.Word (Word64)
8-
import System.Random
9-
10-
import Criterion.Main
8+
import System.Random (StdGen, newStdGen, uniform)
119

1210
main :: IO ()
1311
main =
@@ -42,11 +40,13 @@ main =
4240

4341
constructBloom_classic :: Int -> Double -> StdGen -> B.Classic.Bloom Word64
4442
constructBloom_classic n fpr g0 =
45-
B.Classic.unfold (B.Classic.sizeForFPR fpr n) (nextElement n) (g0, 0)
43+
let (!salt, !g1) = uniform g0 in
44+
B.Classic.unfold salt (B.Classic.sizeForFPR fpr n) (nextElement n) (g1, 0)
4645

4746
constructBloom_blocked :: Int -> Double -> StdGen -> B.Blocked.Bloom Word64
4847
constructBloom_blocked n fpr g0 =
49-
B.Blocked.unfold (B.Blocked.sizeForFPR fpr n) (nextElement n) (g0, 0)
48+
let (!salt, !g1) = uniform g0 in
49+
B.Blocked.unfold salt (B.Blocked.sizeForFPR fpr n) (nextElement n) (g1, 0)
5050

5151
{-# INLINE nextElement #-}
5252
nextElement :: Int -> (StdGen, Int) -> Maybe (Word64, (StdGen, Int))

0 commit comments

Comments
 (0)