Sped up query commands that read the git-annex branch by around 5%

The only price paid is one additional MVar read per write to the journal.
Presumably writing a journal file dominiates over a MVar read time by
several orders of magnitude.

--batch does not get the speedup because then it needs to notice when
another process has made a change. Also made the assistant and other damon
modes bypass the optimisation, which would not help them anyway.
This commit is contained in:
Joey Hess 2020-04-09 13:54:43 -04:00
parent aba905152a
commit aeca7c2207
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
14 changed files with 101 additions and 25 deletions

View file

@ -28,7 +28,7 @@ mkGenerator cmds userinput = do
-- so skewing the runtime of the first action that will be
-- benchmarked.
Annex.Branch.commit "benchmarking"
Annex.Branch.update
_ <- Annex.Branch.update
l <- mapM parsesubcommand $ split [";"] userinput
return $ do
forM_ l $ \(cmd, seek, st) ->