comment
This commit is contained in:
parent
af64c184f3
commit
a3a6e64122
1 changed files with 102 additions and 0 deletions
|
@ -0,0 +1,102 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2021-06-23T19:15:55Z"
|
||||
content="""
|
||||
Benchmarked with NORMAL:
|
||||
|
||||
joey@darkstar:~/tmp/t>/usr/bin/time ~/git-annex.synchrousNORMAL add 1??? --quiet
|
||||
6.99user 5.09system 0:11.63elapsed 103%CPU (0avgtext+0avgdata 68356maxresident)k
|
||||
143760inputs+40352outputs (819major+404774minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/t>/usr/bin/time ~/git-annex.synchrousNORMAL add 2??? --quiet
|
||||
7.71user 5.15system 0:11.93elapsed 107%CPU (0avgtext+0avgdata 69876maxresident)k
|
||||
11336inputs+42648outputs (9major+414417minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/t>/usr/bin/time ~/git-annex.synchrousNORMAL add 3??? --quiet
|
||||
7.99user 5.16system 0:12.20elapsed 107%CPU (0avgtext+0avgdata 70452maxresident)k
|
||||
11952inputs+44200outputs (8major+415267minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/t>/usr/bin/time ~/git-annex.synchrousNORMAL add 4??? --quiet
|
||||
8.30user 5.25system 0:12.62elapsed 107%CPU (0avgtext+0avgdata 69496maxresident)k
|
||||
17784inputs+45776outputs (9major+416640minor)pagefaults 0swaps
|
||||
|
||||
Which is no improvement over git-annex with no pragmas. Actually slower.
|
||||
|
||||
joey@darkstar:~/tmp/t>/usr/bin/time ~/git-annex.orig add 1??? --quiet
|
||||
6.89user 5.36system 0:11.39elapsed 107%CPU (0avgtext+0avgdata 50576maxresident)k
|
||||
47064inputs+40352outputs (5616major+404472minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/u>/usr/bin/time git-annex add 2??? --quiet
|
||||
7.76user 5.09system 0:11.88elapsed 108%CPU (0avgtext+0avgdata 70848maxresident)k
|
||||
12776inputs+42648outputs (9major+414346minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/u>/usr/bin/time git-annex add 3??? --quiet
|
||||
7.90user 5.26system 0:12.14elapsed 108%CPU (0avgtext+0avgdata 71676maxresident)k
|
||||
13824inputs+44200outputs (8major+415258minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/u>/usr/bin/time git-annex add 4??? --quiet
|
||||
8.22user 5.38system 0:12.49elapsed 108%CPU (0avgtext+0avgdata 71652maxresident)k
|
||||
14216inputs+45776outputs (8major+416784minor)pagefaults 0swaps
|
||||
|
||||
OFF also benchmarks very close to the same.
|
||||
|
||||
joey@darkstar:~/tmp/v>/usr/bin/time ~/git-annex.synchrousOFF add 1??? --quiet
|
||||
6.85user 5.58system 0:12.01elapsed 103%CPU (0avgtext+0avgdata 71100maxresident)k
|
||||
50080inputs+40352outputs (16major+405312minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/v>/usr/bin/time ~/git-annex.synchrousOFF add 2??? --quiet
|
||||
7.64user 5.31system 0:11.96elapsed 108%CPU (0avgtext+0avgdata 71392maxresident)k
|
||||
12672inputs+42640outputs (8major+414373minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/v>/usr/bin/time ~/git-annex.synchrousOFF add 3??? --quiet
|
||||
8.02user 5.15system 0:12.19elapsed 108%CPU (0avgtext+0avgdata 71556maxresident)k
|
||||
11648inputs+43928outputs (8major+415140minor)pagefaults 0swaps
|
||||
joey@darkstar:~/tmp/v>/usr/bin/time ~/git-annex.synchrousOFF add 4??? --quiet
|
||||
8.24user 5.24system 0:12.41elapsed 108%CPU (0avgtext+0avgdata 71224maxresident)k
|
||||
10952inputs+45304outputs (8major+416560minor)pagefaults 0swaps
|
||||
|
||||
One pass did run 0.08s faster, could be due to not syncing but it does
|
||||
not seem a significant optimisation, at least not on this SSD.
|
||||
|
||||
Should be noted that transactions build up 1000 changes, and that benchmark
|
||||
was operating on 1000 files per run, so it probably only wrote one or two
|
||||
transactions.
|
||||
|
||||
Here's the patch that adds a pragma:
|
||||
|
||||
diff --git a/Database/Handle.hs b/Database/Handle.hs
|
||||
index d7f1822dc..2d66af5e6 100644
|
||||
--- a/Database/Handle.hs
|
||||
+++ b/Database/Handle.hs
|
||||
@@ -1,11 +1,11 @@
|
||||
{- Persistent sqlite database handles.
|
||||
-
|
||||
- - Copyright 2015-2019 Joey Hess <id@joeyh.name>
|
||||
+ - Copyright 2015-2021 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU AGPL version 3 or higher.
|
||||
-}
|
||||
|
||||
-{-# LANGUAGE TypeFamilies, FlexibleContexts #-}
|
||||
+{-# LANGUAGE TypeFamilies, FlexibleContexts, OverloadedStrings #-}
|
||||
|
||||
module Database.Handle (
|
||||
DbHandle,
|
||||
@@ -34,6 +34,7 @@ import qualified Data.Text as T
|
||||
import Control.Monad.Trans.Resource (runResourceT)
|
||||
import Control.Monad.Logger (runNoLoggingT)
|
||||
import System.IO
|
||||
+import Lens.Micro
|
||||
|
||||
{- A DbHandle is a reference to a worker thread that communicates with
|
||||
- the database. It has a MVar which Jobs are submitted to. -}
|
||||
@@ -194,10 +195,13 @@ runSqliteRobustly tablename db a = do
|
||||
maxretries = 100 :: Int
|
||||
|
||||
rethrow msg e = throwIO $ userError $ show e ++ "(" ++ msg ++ ")"
|
||||
-
|
||||
+
|
||||
+ conninfo = over extraPragmas (const ["PRAGMA synchronous=OFF"]) $
|
||||
+ mkSqliteConnectionInfo db
|
||||
+
|
||||
go conn retries = do
|
||||
r <- try $ runResourceT $ runNoLoggingT $
|
||||
- withSqlConnRobustly (wrapConnection conn) $
|
||||
+ withSqlConnRobustly (wrapConnectionInfo conninfo conn) $
|
||||
runSqlConn a
|
||||
case r of
|
||||
Right v -> return v
|
||||
"""]]
|
Loading…
Reference in a new issue