aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Command/Benchmark.hs14
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 ->