@@ -26,6 +26,7 @@ import Text.Printf (printf)
2626import Database.LSMTree.Extras.Orphans ()
2727import Database.LSMTree.Internal.Assertions (fromIntegralChecked )
2828import qualified Database.LSMTree.Internal.BloomFilter as Bloom
29+ import Database.LSMTree.Internal.Paths (SessionSalt (.. ))
2930import Database.LSMTree.Internal.Serialise (SerialisedKey ,
3031 serialiseKey )
3132
@@ -108,7 +109,7 @@ benchmarks = do
108109 benchmark " bloomQueries"
109110 " (this is the batch lookup, less the cost of computing and hashing the keys)"
110111 (benchInBatches benchmarkBatchSize rng0
111- (\ ks -> Bloom. bloomQueries vbs ks `seq` () ))
112+ (\ ks -> Bloom. bloomQueries sessionSalt vbs ks `seq` () ))
112113 (fromIntegralChecked benchmarkNumLookups)
113114 hashcost
114115 0
@@ -200,6 +201,11 @@ totalNumEntriesSanityCheck l1 filterSizes =
200201 ==
201202 sum [ 2 ^ l1 * sizeFactor | (_, sizeFactor, _) <- filterSizes ]
202203
204+ sessionSalt :: SessionSalt
205+ sessionSalt = SessionSalt bloomSalt
206+
207+ bloomSalt :: Bloom. Salt
208+ bloomSalt = 4
203209
204210-- | Input environment for benchmarking 'Bloom.elemMany'.
205211--
@@ -223,7 +229,10 @@ elemManyEnv :: [BloomFilterSizeInfo]
223229elemManyEnv filterSizes rng0 =
224230 stToIO $ do
225231 -- create the filters
226- mbs <- sequence [ Bloom. new bsize | (_, _, bsize) <- filterSizes ]
232+ mbs <- sequence
233+ [ Bloom. new bsize bloomSalt
234+ | (_, _, bsize) <- filterSizes
235+ ]
227236 -- add elements
228237 foldM_
229238 (\ rng (i, mb) -> do
@@ -264,7 +273,7 @@ benchInBatches !b !rng0 !action =
264273benchMakeHashes :: Vector (Bloom SerialisedKey ) -> BatchBench
265274benchMakeHashes ! _bs ! ks =
266275 let khs :: VP. Vector (Bloom. Hashes SerialisedKey )
267- ! khs = V. convert (V. map Bloom. hashes ks)
276+ ! khs = V. convert (V. map ( Bloom. hashesWithSalt bloomSalt) ks)
268277 in khs `seq` ()
269278
270279-- | This gives us a combined cost of calculating the series of keys, their
@@ -273,7 +282,7 @@ benchMakeHashes !_bs !ks =
273282benchElemHashes :: Vector (Bloom SerialisedKey ) -> BatchBench
274283benchElemHashes ! bs ! ks =
275284 let khs :: VP. Vector (Bloom. Hashes SerialisedKey )
276- ! khs = V. convert (V. map Bloom. hashes ks)
285+ ! khs = V. convert (V. map ( Bloom. hashesWithSalt bloomSalt) ks)
277286 in V. foldl'
278287 (\ _ b -> VP. foldl'
279288 (\ _ kh -> Bloom. elemHashes b kh `seq` () )
0 commit comments