commit new transaction after 60 seconds

Database.Handle can now be given a CommitPolicy, making it easy to specify
transaction granularity.

Benchmarking the old git-annex incremental fsck that flips sticky bits
to the new that uses sqlite, running in a repo with 37000 annexed files,
both from cold cache:

old: 6m6.906s
new: 6m26.913s

This commit was sponsored by TasLUG.
This commit is contained in:
Joey Hess 2015-02-16 16:48:19 -04:00
parent d2766df914
commit 7d36e7d18d
3 changed files with 36 additions and 12 deletions

View file

@ -443,9 +443,7 @@ withFsckDb (StartIncremental h) a = a h
withFsckDb NonIncremental _ = noop
recordFsckTime :: Incremental -> Key -> Annex ()
recordFsckTime inc key = withFsckDb inc $ \h -> liftIO $ do
FsckDb.addDb h key
FsckDb.commitDb h
recordFsckTime inc key = withFsckDb inc $ \h -> liftIO $ FsckDb.addDb h key
{- Records the start time of an incremental fsck.
-