diff options
Diffstat (limited to 'Command/Benchmark.hs')
-rw-r--r-- | Command/Benchmark.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Command/Benchmark.hs b/Command/Benchmark.hs index 66af1f98c..b1cc9a830 100644 --- a/Command/Benchmark.hs +++ b/Command/Benchmark.hs @@ -47,6 +47,8 @@ benchmark _ = withTmpDirIn "." "benchmark" $ \tmpdir -> do , getAssociatedFilesMissBench db , getAssociatedKeyHitBench db , getAssociatedKeyMissBench db + , addAssociatedFileOldBench db + , addAssociatedFileNewBench db ] getAssociatedFilesHitBench :: BenchDb -> Benchmark @@ -67,6 +69,18 @@ getAssociatedKeyMissBench :: BenchDb -> Benchmark getAssociatedKeyMissBench (BenchDb h num) = bench ("getAssociatedKey from " ++ show num ++ " (miss)") $ nfIO $ SQL.getAssociatedKey fileMiss (SQL.ReadHandle h) +addAssociatedFileOldBench :: BenchDb -> Benchmark +addAssociatedFileOldBench ( BenchDb h num) = bench ("addAssociatedFile to " ++ show num ++ " (old)") $ nfIO $ do + n <- getStdRandom (randomR (1,num)) + SQL.addAssociatedFile (keyN n) (fileN n) (SQL.WriteHandle h) + H.flushDbQueue h + +addAssociatedFileNewBench :: BenchDb -> Benchmark +addAssociatedFileNewBench ( BenchDb h num) = bench ("addAssociatedFile to " ++ show num ++ " (new)") $ nfIO $ do + n <- getStdRandom (randomR (1,num)) + SQL.addAssociatedFile (keyN n) (fileN (n+1)) (SQL.WriteHandle h) + H.flushDbQueue h + populateAssociatedFiles :: H.DbQueue -> Int -> IO () populateAssociatedFiles h num = do forM_ [1..num] $ \n -> |